54 votes

Comparaison des types de classes en Java

Je veux comparer le type de classe en Java.

J’ai pensé que je pouvais faire ceci:

Je voulais comparer au cas où l’obj passé dans la fonction était étendu de MyObject_1 ou non. Mais cela ne fonctionne pas. Il semble que la méthode getClass() et le .class donnent différents types d’informations.

Comment puis-je comparer deux types de classes, sans avoir à créer un autre objet factice juste pour comparer le type de classe ?

60voto

Thor Points 3116

Essayez ceci :

En raison de l’héritage, cela est également valable pour les interfaces:

Pour en savoir plus sur instanceof: http://mindprod.com/jgloss/instanceof.html

35voto

Andreas_D Points 64111

Si vous ne voulez pas ou ne pouvez pas utiliser , comparez avec :

BTW - c’est étrange parce que les deux `` instances de votre déclaration devraient vraiment être les mêmes, au moins dans votre exemple de code. Ils peuvent être différents si :

  • les classes ont le même nom court mais sont définies dans des packages différents
  • les classes ont le même nom complet mais sont chargées par des classloaders différents.

2voto

Malv Points 639

Comparaison d’un objet avec une classe à l’aide `` de ou ... est déjà répondu.

Si vous avez deux objets et que vous souhaitez comparer leurs types entre eux,vous pouvez utiliser :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X