Quand nous disonsComment utiliser .class sur les types primitifs?
Class c = Integer.class;
System.out.println(c);
il imprime
class java.lang.Integer
ce qui est logique car java.lang.Integer
est une classe. Nous pouvons donc avoir un objet Class
correspondant.
Mais quand je fais
Class c1 = int.class;
System.out.println(c1);
il imprimer int
que je me sentais est une sorte de ambiguë .class
renvoie un objet de type Class
et int
n'est pas une classe (mais un type primitif).
Quel est le motif derrière l'autorisation de l'opération .class sur les types primitifs lorsqu'une telle classe (primitiveType.class.getName()
) n'existe pas?
Aussi, si vous voyez toString(
) Méthode de classe de classe
public String toString() {
return (isInterface() ? "interface " : (isPrimitive() ? "" : "class "))
+ getName();
}
types primitifs Comme ne sont pas des classes ou des interfaces, il suffit d'imprimer le nom (int
pour int
). Alors pourquoi autoriser la création d'objet Class
d'une classe qui n'est pas présente?
Je pense que c'est l'un des java dans les anti. –