Рассмотрим приведенную ниже привязку кода.
мы используем equals()
для сравнения объектов, которые в действительности эквивалентны или нет?
Здесь оба значения значимо равны, но почему longWrapper.equals(0)
возвращает false
?
И когда я сравнивал оба значения с оператором ==
, он возвращает true
.
Long longWrapper = 0L;
long longPrimitive = 0;
System.out.println(longWrapper == 0L); // true
System.out.println(longWrapper == 0); //true
System.out.println(longWrapper == longPrimitive); //true
System.out.println(longWrapper.equals(0L)); //true
System.out.println(longWrapper.equals(0)); //false
System.out.println(longWrapper.equals(longPrimitive)); //true