Double.valueOf(s) против Double.parseDouble

Перемещение объекта в двойное и заметил оба этих метода. Я вижу, что parseDouble находится с 1.2. Зачем добавлять этот метод, если он по существу выполняет те же функции, что и valueOf (s)?

Ответ 1

parseDouble() возвращает примитивное значение double. valueOf() возвращает экземпляр класса-оболочки double. До того, как Java 5 представила автобоксинг, это было очень значительным различием (и многие утверждают, что это все еще есть).

Ответ 2

Потому что это не одно и то же. valueOf() создает объект Double, который часто не нужен. parseDouble() нет. С autoboxing он valueOf(String), который больше не нужен, но, следовательно, имеет обратную совместимость.

Ответ 3

Если вам просто нужно использовать значение (примитив), используйте parseDouble(String s), стоимость меньше. valueOf(String s) возвращает двойной класс, который обертывает примитивное двойное значение.