• CWE-595: Comparison of Object References Instead of Object Contents

Das Produkt vergleicht Objekt-Referenzen anstelle des Inhalts der Objekte selbst, wodurch es verhindert wird, äquivalente Objekte zu erkennen.

CWE-595: Comparison of Object References Instead of Object Contents

CWE ID: 595
Name: Comparison of Object References Instead of Object Contents

Beschreibung

Das Produkt vergleicht Objekt-Referenzen anstelle des Inhalts der Objekte selbst, wodurch es verhindert wird, äquivalente Objekte zu erkennen.

Erweiterte Beschreibung

Beispielsweise führen Objektvergleiche in Java mit dem Operator == in der Regel zu irreführenden Ergebnissen, da der ==-Operator Objekt-Referenzen und nicht Werte vergleicht. Häufig bedeutet dies, dass die Verwendung von == für Strings tatsächlich einen Vergleich der Referenzen und nicht der Werte der Strings durchführt.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: In Java sollte man Objekte stattdessen mit der Methode equals() vergleichen, anstatt den ==-Operator zu verwenden. Sollte man dennoch == verwenden, ist es aus Performance-Gründen wichtig, dass die Objekte durch eine statische Factory und nicht durch einen Konstruktor erstellt werden.