Sobes.tech
Junior — Middle

Hoe moet de vergelijking van objecten in programmeren worden uitgevoerd?

sobes.tech AI

Antwoord van AI

In Java hangt de vergelijking van objecten af van wat precies vergeleken moet worden:

  1. Vergelijking van referenties (objecten) op gelijkheid:

    • Wordt de operator == gebruikt.
    • Controleert of twee variabelen naar hetzelfde object in het geheugen wijzen.
  2. Vergelijking van de inhoud van objecten:

    • Wordt de methode .equals() gebruikt.
    • Standaard (in de klasse Object) vergelijkt het referenties, maar veel klassen (bijvoorbeeld String, Integer) overschrijven deze methode om de inhoud te vergelijken.

Voorbeeld:

String a = new String("test");
String b = new String("test");

System.out.println(a == b);       // false, verschillende objecten
System.out.println(a.equals(b));  // true, inhoud gelijk

Aanbevelingen:

  • Gebruik altijd .equals() voor inhoudsvergelijking, als de klasse dit correct implementeert.
  • Gebruik == om te controleren of het hetzelfde object betreft.
  • Bij het maken van eigen klassen wordt aanbevolen om de methode equals() (en hashCode()) te overschrijven voor correcte inhoudsvergelijking.