j'ai coursgénériques java et SuppressWarnings
abstract class A {
//....
}
class B extends A {
//....
}
class C extends A {
//....
}
J'ai
interface Maker<T extends A> {
SomeClass make(T obj);
}
implémentations pour la classe Maker
class MakerForB implements Maker<B> { /*... */ }
class MakerForC implements Maker<C> { /*... */ }
et fabrique de classe avec une méthode statique
class Factory {
public static SomeClass makeSomeClass(A obj) {
Maker maker = null;
if(obj instanceof B) maker = new MakerForB();
/* ... */
return maker.make(obj);
}
}
Dans ce cas, je me avertissant que Maker est un type cru, quand je déclare Maker cette façon
Maker<?> maker = null;
Je reçois exception (est de ne pas applicable pour les arguments A) sur
return maker.make(obj);
Quelle est la meilleure façon de se débarrasser de ces avertissements sans en utilisant
@SuppressWarnings("unchecked")
Ok, je pense que je vais avec suppressWarnings alors provoquer un vraiment envie d'éviter de lancer – vrm
Marker! = Maker :) – BalusC
yup. fixé cela. et a expliqué pourquoi l'erreur apparaît. – Bozho