J'ai cet objet qui est une instance d'une superclasse. Je veux savoir quelle sous-classe est réellement cet objet, afin que je puisse décider quoi en faire. Il y a cette méthode getClass() mais elle n'est apparemment pas utilisée pour les problèmes de comparaison. Comment puis-je obtenir le sous-type de mon objet?Comment obtenir le type de la classe pour la comparaison
Répondre
Vous pouvez avoir un défaut de conception si vous essayez de le faire, mais instanceof
.
public class MainClass {
public static void main(String[] a) {
String s = "Hello";
if (s instanceof java.lang.String) {
System.out.println("is a String");
}
}
}
ouais c'est probablement un défaut de conception :) Mais je ne sais pas, il semble ne sois pas un autre moyen de le faire. – Halo
http://www.javapractices.com/topic/TopicAction.do?Id=31 –
hmm. comment cela peut-il s'appliquer à MVC, alors? Je veux dire, mon modèle ne connaît pas la vue, donc je ne peux pas utiliser le polymorphisme pour créer les composants appropriés dans la vue. Comment vais-je faire ça alors? – Halo
l'objet ne peut pas être une sous-classe. objet peut être instance d'une classe. – Andrey