Разница между parseInt и valueOf в Java?

Эта ошибка также может возникать при вставке чего-либо в интерпретатор Python (терминал / консоль).

Обратите внимание, что интерпретатор интерпретирует пустую строку как конец выражения, поэтому, если вы вставляете что-то вроде

def my_function():
    x = 3

    y = 7

, интерпретатор будет интерпретировать пустую строку до y = 7 как конец выражения, т. е. что вы закончили определение своей функции, а следующая строка - y = 7 будет иметь неправильный отступ, потому что это новое выражение.

402
задан Click Upvote 3 February 2009 в 20:06
поделиться

6 ответов

  • 1
    Но еще один вопрос, я знаю spyDroid от Google, но кажется, что spyDroid само служат видеопотоку через Wi-Fi, тогда мы можем посетить поток с помощью другого компьютера (используйте браузер). Кажется, что видео пар не продвигают, но вытягивают, isn' t это? – hguser 17 March 2014 в 22:10

От этот форум :

parseInt() возвраты примитивный целый тип ( интервал ), посредством чего valueOf возвраты java.lang. Целое число , который является объектным представителем целого числа. Существуют обстоятельства, где Вы могли бы хотеть Целочисленный объект вместо типа примитива.

, Конечно, другое заметное отличие - то, что intValue является методом экземпляра, посредством чего parseInt является статическим методом.

69
ответ дан Michael Haren 4 February 2009 в 06:06
поделиться

Integer.parseInt может просто возвратить интервал как собственный тип.

Integer.valueOf, возможно, на самом деле должен выделить Целочисленный объект, если то целое число, оказывается, не один из предварительно выделенных. Это стоит больше.

при необходимости просто в собственном типе используйте parseInt. При необходимости в объекте используйте valueOf.

кроме того, из-за этого потенциального выделения, автоупаковка не является на самом деле хорошей вещью каждым способом. Это может замедлить вещи.

5
ответ дан iny 4 February 2009 в 06:06
поделиться
Integer.valueOf(s)

подобно [1 111]

new Integer(Integer.parseInt(s))

, различие valueOf() возвраты Integer, и parseInt() возвраты int (тип примитива). Также обратите внимание, что valueOf() может возвратить кэшируемый Integer экземпляр, который может вызвать запутывающие результаты, где результат == тесты кажется периодически корректным. Прежде автоупаковка могла быть различием в удобстве после java 1.5, это действительно не имеет значения.

, Кроме того, Integer.parseInt(s) может взять примитивный тип данных также.

35
ответ дан Thomas Dickey 4 February 2009 в 06:06
поделиться
  • 1
    Спасибо, добавленный исходный код к моему вопросу, который подтверждает Ваш ответ – Dhara 18 September 2013 в 02:11

Синтаксический анализ* изменения возвращает типы примитивов и valueOf эхо-сигналы версий. Я полагаю, что valueOf версии будут также использовать пул внутренней ссылки для возврата ТОГО ЖЕ объекта для данного значения, не только другого экземпляра с тем же внутренним значением.

1
ответ дан basszero 4 February 2009 в 06:06
поделиться
  1. В случае ValueOf -> создается объект типа Integer . не примитивный тип и не статический метод.
  2. В случае ParseInt.ParseFloat -> он возвращает соответствующий примитивный тип. и является статическим методом.

Мы должны использовать любой, в зависимости от наших потребностей. В случае ValueOf, поскольку он создает экземпляр объекта. он будет потреблять больше ресурсов, если нам нужно только значение некоторого текста, тогда мы должны использовать parseInt, parseFloat и т. д.

-2
ответ дан 22 November 2019 в 23:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: