Сравнение ссылок
В Java сравнение ссылок происходит с использованием операторов == и !=.
Оператор
==:Оператор
==сравнивает две ссылки на объекты и возвращаетtrue, если обе ссылки указывают на один и тот же объект в памяти.Если обе ссылки указывают на один и тот же объект или обе ссылки равны
null, то оператор==вернетtrue.В противном случае, если ссылки указывают на разные объекты, оператор
==вернетfalse.
Пример:
String str1 = new String("hello");
String str2 = str1; // str2 ссылается на тот же объект, что и str1
System.out.println(str1 == str2); // Вывод: trueОператор
!=:Оператор
!=возвращаетtrue, если две ссылки указывают на разные объекты в памяти.Если обе ссылки указывают на один и тот же объект или обе ссылки равны
null, то оператор!=вернетfalse.В противном случае, если ссылки указывают на разные объекты, оператор
!=вернетtrue.
Пример:
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println(str1 != str2); // Вывод: true, поскольку str1 и str2 ссылается на разные объекты StringМетод
equals():Метод
equals()используется для сравнения содержимого объектов, а не их ссылок.Этот метод переопределен в классе
Object, и большинство классов в Java переопределяют его для сравнения содержимого объектов.Важно помнить, что по умолчанию метод
equals()для классаObjectвыполняет сравнение ссылок, так же как оператор==.
Пример:
Last updated
Was this helpful?