В чем разница между Double.parseDouble (String) и Double.valueOf (String)?
Я хочу преобразовать String
в Double
тип данных. Я не знаю, следует ли использовать parseDouble
или valueOf
.
В чем разница между этими двумя методами?
- Изменение файла в банке
- Связаны ли статические переменные между streamами?
- Lambdas в classическом примере enums
- Длинный список операторов if в Java
- Как осуществить первый проход?
- JPA @ManyToOne с CascadeType.ALL
- подключиться к удаленной базе данных mysql через ssh с помощью java
- Как правильно выровнять значок в JLabel?
- Массив общего списка
- Разница между StringBuilder и StringBuffer
- Время компиляции vs Время выполнения Зависимость - Java
- Конфигурирование ObjectMapper весной
- Как получить HttpServletRequest в моих весенних бобах?
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(...)
является перегруженным методом. Он имеет два варианта:
-
Double valueOf(String s)
-
Double valueOf(double d)
В то время как parseDouble
– это единственный метод со следующей подписью:
-
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 .