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