Почему 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?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Потому что в Java оператор равенства не применим для проверки эквивалентности объектов. Каноничный ответ на эту тему.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы