Je n'arrive pas à comprendre les subtilités des génériques Java avec des caractères génériques. spécifiquement, pourquoi ne compile-t-il pas?Génériques Java avec caractères génériques ne compilant pas
public class Test {
abstract class Function<A, B> {
abstract B call(A a);
}
interface PropertyType {
String bubbles();
}
class Apartment implements PropertyType {
@Override
public String bubbles() {
return "bubbles";
}
}
public void invokeFunctionOnAList() {
List<Apartment> apts = new ArrayList<Apartment>();
functionLoop(apts, new Function<Apartment, String>() {
@Override
String call(Apartment a) {
return a.bubbles();
}
});
}
public void functionLoop(List<? extends PropertyType> list, Function<? extends PropertyType, String> t) {
for (PropertyType p : list) {
t.call(p);
}
}
}
Je peux voir le problème, et la plupart des compilateurs Java seront assez explicites à ce sujet. Quelles erreurs obtenez-vous? – PaulJWilliams
Si vous signalez que quelque chose ne parvient pas à être compilé, vous devez toujours inclure le message d'erreur et l'emplacement. –