Я понимаю, что второй выбор будет вызывать исключение, когда он в действительности будет недействительным: Но какой-то другой разум существует?
equals
, предполагается, что он сравнивает, что контент двух объектов был эквивалентным, за пределами Вашего тождества (или же инстанция объекта, который сравнивается с ==
).
Переменная не объект, это контейнер типа информации / объекта. Если переменная стоит null
ты не можешь сравнивать это как равенство, так как нет никакого объекта, который нужно сравнивать.
Оператор ==
сравнивает ссылку объекта. и .equals()
подтверди, равны ли два объекта, но, хотя объекты равны null , сравнившись, получит один NullPointerException
.
Разум - porqué хочет сравниться ссылка и для этого конца лучше использовать оператор ==
Метод equals сравнит равенство valor
двух объектов. посланного параметра должно быть один Objeto
и не ссылка, если не появится NullPointerException
Начиная с Java 7.0
добавился Метод equals (Object в, Object b) класса Objects, чтобы это подтверждать
Objects.equals(null,valor)
Мое мнение:
Когда ты сравниваешь два объекта с (==) то, что ты сравниваешь, если две ссылки указывают на тот же адрес памяти, где помещен объект.
Пример:
Человек persona1 = new Является лично (); Человек persona2 = new Является лично ();
если ты сравниваешь.
persona1 == persona2-> результат будет фальшивым.
но если ты это делаешь:
persona2 = persona1-> ты показываешь, что persona2 я снабдил ссылками объект, снабженный ссылками из-за persona1.
тогда сравнив.
persona1 == persona2-> он даст true.
Я женю 2 equals.
Метод equals объявлен в главном классе Object, показывает, равны ли два объекта (если у них есть тот же контент), все классы в java получают в наследство object ясно или безусловно.
В случае класса java.lang. String, если мы проверяем документацию sobreescribe метод equals.
Пример:
String nombre1 = "joel"; String nombre2 = "joel";
nombre1.equals (nombre2)-> Результат будет истинным, так как у них есть тот же контент.
Если бы ты захотел сравнить твои собственные созданные объекты, посредством equals, что ты должен делать, состоит sobreescribir метод equals и в том, чтобы осуществлять это.
В документации Java говорят, как нужно осуществлять метод equals продолжая Ваш контракт.
https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#equals (java.lang. Object)
Я надеюсь помочь тебе.
Оператор == реализует ее comparaciГіn на уровне объекта. А именно, определи, если оба объекта равны.
mГ©todo equals () сравнивает символы внутри объекта String.