java: Vergleichen von Klassen mit == oder .equals (): Gibt es einen Unterschied? [Duplikat]

8

Ich weiß, dass Sie equals() im Allgemeinen verwenden sollten, aber gibt es eine Möglichkeit, dass zwei Class<?> -Objekte mit equals() übereinstimmen könnten, aber nicht mit == ?

edit: Ich suche speziell, ob zwei Klassenobjekte existieren, so dass

%Vor%

Dies scheint nicht von der möglichen doppelten Frage abgedeckt zu sein. (was eng verwandt ist)

Auch kann nicht wahr sein, dass die Klassenobjekte von someObject.getClass() erhalten wurden - es könnte sein, dass eins das Ergebnis von Class.forName(...) war und das andere aus einer Reihe reflektierender Aktionen wie Method.getReturnType() .

    
Jason S 13.05.2011, 21:10
quelle

1 Antwort

-2

Alle Objekte haben sowohl die Identität (die Position des Objekts im Speicher) als auch den Zustand (die Daten des Objekts). Der Operator == vergleicht immer die Identität. Die Standardimplementierung von equals vergleicht auch die Identität.

Für eine ausführlichere Erklärung: Ссылка

    
Satish 13.05.2011 21:14
quelle

Tags und Links