В чем разница между Double.parseDouble (String) и Double.valueOf (String)?

Я хочу преобразовать String в Double тип данных. Я не знаю, следует ли использовать parseDouble или valueOf .

В чем разница между этими двумя методами?

parseDouble возвращает примитивный double, содержащий значение строки:

Возвращает новый двойной инициализированный значение, представленное указанной строкой, которое выполняется методом valueOf classа Double.

valueOf возвращает экземпляр Double, если он уже кэширован, вы получите тот же кешированный экземпляр.

Возвращает экземпляр Double, представляющий указанное двойное значение. Если новый экземпляр Double не требуется, этот метод обычно должен использоваться в предпочтении конструктору Double (double), так как этот метод может значительно улучшить производительность пространства и времени за счет кэширования часто запрашиваемых значений.

Чтобы избежать накладных расходов на создание нового экземпляра Double object, вы обычно должны использовать valueOf

Double.parseDouble(String) возвращает примитивный double тип. Double.valueOf(String) вернет объект-оболочку типа Double .

Итак, например:

 double d = Double.parseDouble("1"); Double d = Double.valueOf("1"); 

Кроме того, valueOf(...) является перегруженным методом. Он имеет два варианта:

  1. Double valueOf(String s)
  2. Double valueOf(double d)

В то время как parseDouble – это единственный метод со следующей подписью:

  1. double parseDouble(String s)

Оба они конвертируют String в двойное значение, но wherease метод parseDouble () возвращает примитивное двойное значение, метод valueOf () далее преобразует примитивный double в объект classа Double wrapper, который содержит примитивное двойное значение.

Преобразование из String в примитивный double может вызывать NFE (NumberFormatException), если значение в String не конвертируется в примитивный double.

Метод parseDouble () используется для инициализации STRING (который должен содержать некоторое числовое значение) …. возвращаемое значение имеет примитивный тип данных, например int, float и т. д.

Но valueOf () создает объект classа Wrapper. Вы должны развернуть его, чтобы получить двойное значение. Его можно сравнить с шоколадом. Изготовитель обертывает шоколад с помощью фольги или бумаги, чтобы предотвратить загрязнение. Пользователь принимает шоколад, удаляет и бросает обертку и ест ее.

Соблюдайте следующее преобразование.

int k = 100; Integer it1 = new Integer(k);

Тип данных int k преобразуется в объект, it1 с использованием classа Integer. Объект it1 может использоваться в Java-программировании, где k требуется объект.

Следующий код можно использовать для разворачивания (возврата int из объекта Integer) объекта it1.

 int m = it1.intValue(); 

System.out.println (м * м); // печатает 10000

// intValue () – метод classа Integer, который возвращает тип данных int.

Документация для parseDouble() говорит: «Возвращает новый двойной инициализированный значение, представленное указанной строкой, как выполняется методом valueOf classа Double.», Поэтому они должны быть идентичными.

Если вы хотите преобразовать строку в двойной тип данных, тогда выберите метод parseDouble (). См. Примерный код:

 String str = "123.67"; double d = parseDouble(str); 

Вы получите значение в два раза. См. Учебник StringToDouble в tutorialData .

  • Зависимости Maven не отображаются в WEB-INF / lib
  • Парсер JAVA SAX разделяет вызовы на символы ()
  • Сравнение строк сходства в Java
  • Как импортировать class из пакета по умолчанию
  • переопределение или настройка конечной точки веб-службы во время выполнения кода, сгенерированного с помощью wsimport
  • Каков максимальный размер кучи по умолчанию для JVM Sun от Java SE 6?
  • Есть ли эквивалент java.util.regex для шаблонов типа «glob»?
  • Подключение к удаленному URL-адресу, для которого требуется аутентификация с использованием Java
  • Добавить банки в Spark Job - spark-submit
  • как получить список баз данных «Схема» имен MySql с помощью java JDBC
  • Вычислить размер объекта в Java
  • Давайте будем гением компьютера.