Перемещение объекта в двойное и заметил оба этих метода. Я вижу, что parseDouble находится с 1.2. Зачем добавлять этот метод, если он по существу выполняет те же функции, что и valueOf (s)?
Double.valueOf(s) против Double.parseDouble
Ответ 1
parseDouble()
возвращает примитивное значение double
. valueOf()
возвращает экземпляр класса-оболочки double
. До того, как Java 5 представила автобоксинг, это было очень значительным различием (и многие утверждают, что это все еще есть).
Ответ 2
Потому что это не одно и то же. valueOf()
создает объект Double
, который часто не нужен. parseDouble()
нет. С autoboxing он valueOf(String)
, который больше не нужен, но, следовательно, имеет обратную совместимость.
Ответ 3
Если вам просто нужно использовать значение (примитив), используйте parseDouble(String s)
, стоимость меньше. valueOf(String s)
возвращает двойной класс, который обертывает примитивное двойное значение.