Sobes.tech
Junior — Middle

Millist väärtust tagastab meetod equals korduvatel kutsumistel samade objektide puhul?

sobes.tech AI

Vastus AI-lt

Java keeles equals meetod peab korduvatel kordadel sama objekti võrreldes iga kord tagastama true, kui objekti peetakse võrdseteks vastavalt selle meetodi rakendamise loogikale. equals lepingule vastavalt peab a.equals(b) olema:

  • Refleksivne: a.equals(a) on alati true.
  • Sümmeetriline: a.equals(b) on võrdne b.equals(a)-ga.
  • Transitiivne: kui a.equals(b) ja b.equals(c), siis a.equals(c).
  • Konsistentne: korduvad a.equals(b) kutsed annavad sama väärtuse, kui objektid ei muutu.

Näide:

String s1 = "test";
String s2 = new String("test");
System.out.println(s1.equals(s2)); // true
System.out.println(s1.equals(s2)); // korduvatel kutsedel samuti `true`

Seega, sama objekti puhul equals meetod järjepidevalt tagastab true.