Junior — Middle
Программалоодо объекттерди салыштыруу кандай болушу керек?
sobes.tech AI
AIден жооп
Javaда объекттерди салыштыруу такыр эмне керек экенине көз каранды:
-
Байланыштардын (объекттердин) бирдейлигин салыштыруу:
==оператору колдонулат.- Эки өзгөрмө бир эле эс тутум объектине көрсөтүп жатканына текшерет.
-
Объекттердин мазмунун салыштыруу:
.equals()методу колдонулат.- Баштапкы (Object класында) шилтемелерди салыштырат, бирок көптөгөн класстар (мисалы, String, Integer) бул методу мазмунду салыштыруу үчүн кайра аныктайт.
Мисал:
String a = new String("test");
String b = new String("test");
System.out.println(a == b); // false, ар башка объекттер
System.out.println(a.equals(b)); // true, мазмуну бирдей
Туура кеңештер:
- Мазмунду салыштыруу үчүн ар дайым
.equals()колдонуу керек, эгер класс аны туура ишке ашырса. - Бир эле объект экенин текшерүү үчүн
==колдонуу керек. - Өзүңүздүн класстарыңызды түзгөндө, объекттерди мазмуну боюнча туура салыштыруу үчүн
equals()(жанаhashCode()) методдорун кайра аныктоо сунушталат.