Junior — Middle
Кадом арзиши методи equals баро такрор кардани даъват барои объектҳои якхела бармегардад?
sobes.tech AI
Ҷавоб аз AI
Методи equals дар Java, вақте ки барои як объектҳо чанд маротиба даъват карда мешавад, бояд ҳар вақт true баргардонад, агар объектҳо мувофиқи логикаи иҷрои ин метод баробар ҳисобида шаванд. Тибқи шартномаи equals, даъвати a.equals(b) бояд:
- Инъикосӣ бошад:
a.equals(a)ҳамешаtrue. - Симметрӣ бошад:
a.equals(b)баробар аст боb.equals(a). - Транситивӣ бошад: агар
a.equals(b)ваb.equals(c), пасa.equals(c). - Мустаҳкам бошад: даъватҳои такрорӣ ба
a.equals(b)натиҷаи якхеларо медиҳанд, агар объектҳо тағир наёбанд.
Масалан:
String s1 = "test";
String s2 = new String("test");
System.out.println(s1.equals(s2)); // true
System.out.println(s1.equals(s2)); // дар даъвати такрорӣ низ true
Аз ин рӯ, барои объектҳои баробар, методи equals боэътимод true бармегардонад.