Эта ошибка также может возникать при вставке чего-либо в интерпретатор Python (терминал / консоль).
Обратите внимание, что интерпретатор интерпретирует пустую строку как конец выражения, поэтому, если вы вставляете что-то вроде
def my_function():
x = 3
y = 7
, интерпретатор будет интерпретировать пустую строку до y = 7
как конец выражения, т. е. что вы закончили определение своей функции, а следующая строка - y = 7
будет иметь неправильный отступ, потому что это новое выражение.
Ну, API для [1 115] Integer.valueOf(String)
действительно говорит, что эти String
интерпретируется точно, как будто он был дан [1 116] Integer.parseInt(String)
. Однако valueOf(String)
возвраты new
Integer()
объект, тогда как parseInt(String)
возвраты примитив int
.
, Если Вы хотите пользоваться потенциальными преимуществами кэширования [1 117] Integer.valueOf(int)
, Вы могли бы также использовать это бельмо на глазу:
Integer k = Integer.valueOf(Integer.parseInt("123"))
Теперь, если то, что Вы хотите, является объектом а не примитивом, затем с помощью [1 110], может быть более привлекательным, чем создание нового объекта из [1 111], потому что первый последовательно присутствует через [1 112], Long
, Double
, и т.д.
От этот форум :
parseInt()
возвраты примитивный целый тип ( интервал ), посредством чегоvalueOf
возвраты java.lang. Целое число , который является объектным представителем целого числа. Существуют обстоятельства, где Вы могли бы хотеть Целочисленный объект вместо типа примитива., Конечно, другое заметное отличие - то, что intValue является методом экземпляра, посредством чего parseInt является статическим методом.
Integer.parseInt может просто возвратить интервал как собственный тип.
Integer.valueOf, возможно, на самом деле должен выделить Целочисленный объект, если то целое число, оказывается, не один из предварительно выделенных. Это стоит больше.
при необходимости просто в собственном типе используйте parseInt. При необходимости в объекте используйте valueOf.
кроме того, из-за этого потенциального выделения, автоупаковка не является на самом деле хорошей вещью каждым способом. Это может замедлить вещи.
Integer.valueOf(s)
подобно [1 111]
new Integer(Integer.parseInt(s))
, различие valueOf()
возвраты Integer
, и parseInt()
возвраты int
(тип примитива). Также обратите внимание, что valueOf()
может возвратить кэшируемый Integer
экземпляр, который может вызвать запутывающие результаты, где результат ==
тесты кажется периодически корректным. Прежде автоупаковка могла быть различием в удобстве после java 1.5, это действительно не имеет значения.
, Кроме того, Integer.parseInt(s)
может взять примитивный тип данных также.
Синтаксический анализ* изменения возвращает типы примитивов и valueOf эхо-сигналы версий. Я полагаю, что valueOf версии будут также использовать пул внутренней ссылки для возврата ТОГО ЖЕ объекта для данного значения, не только другого экземпляра с тем же внутренним значением.
Мы должны использовать любой, в зависимости от наших потребностей. В случае ValueOf, поскольку он создает экземпляр объекта. он будет потреблять больше ресурсов, если нам нужно только значение некоторого текста, тогда мы должны использовать parseInt, parseFloat и т. д.
spyDroid
само служат видеопотоку через Wi-Fi, тогда мы можем посетить поток с помощью другого компьютера (используйте браузер). Кажется, что видео пар не продвигают, но вытягивают, isn' t это? – hguser 17 March 2014 в 22:10