Sie können reflection
verwenden %Vor% druckt false
, wenn hashCode()
auskommentiert ist und true
, wenn dies nicht der Fall ist.
Method#getDeclaringClass()
gibt das Objekt Class
für die Klasse zurück, in der es implementiert ist.
Hinweis dass Class#getMethod(..)
funktioniert nur für public
-Methoden. In diesem Fall müssen equals()
und hashCode()
jedoch public
sein. Der Algorithmus müsste abhängig von anderen Methoden geändert werden.
Um zu überprüfen, ob eine Methode in Ihrer Klasse deklariert ist, können Sie den folgenden Code verwenden.
%Vor%Hier finden Sie den Namen der deklarierenden Klasse.
Überprüfen Sie also anhand des Codes in Ihrer Unterklasse, ob die equals- oder hasCode-Methode verwendet wird. Und passen Sie an, wenn der deklarierende Klassenname mit Ihrer gewünschten Klasse übereinstimmt
Tags und Links java