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()
.
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: Ссылка