Почему Object.toString(obj) != String.ValueOf(obj)?

В гугле пишут, что эти методы эквивалентны, кроме того, что при значении null ValueOf создает исключение NullPointerException, а toString - нет.

Но если запустить
System.out.ptintln(Object.toString(obj) ==  String.ValueOf(obj))
В консоль java выведет "false".
Объясните, пожалуйста, почему так, в идеале объяснение с опорой на документацию. Самостоятельно не понимаю(

Также интересно, корректно ли говорить, что при написании String str = Object.toString(obj) мы ссылку на структуру объекта obj кладем в переменную String?
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Потому что в Java оператор равенства не применим для проверки эквивалентности объектов. Каноничный ответ на эту тему.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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