Disons que j'ai une méthode avec la signature suivante:Pourquoi une distribution est-elle nécessaire dans ce cas?
public static <T> Set<Class<? extends T>> dosomething(Class<T> clazz)
Si j'ai essayé d'appeler cette aide d'une classe générique, comme dans l'exemple ci-dessous
Class<?> clazz = Integer.class
Set<Class<?>> result = dosomething(clazz);
Le compilateur se plaint de ce qui suit: Le correctif pour cela consiste donc à ajouter un cast dans l'appel de la méthode.
Set<Class<?>> result = (Set<Class<?>>) dosomething(clazz);
Je me demande pourquoi est-ce que le casting est nécessaire dans ce cas particulier et s'il y a une solution de contournement pour éviter la coulée ... J'utilise pour ce java-8. Merci
Je pense que le compilateur ne sait pas que la classe > va étendre T. –