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