Hé les gars. Dans un endroit, j'ai une méthode avec un générique "VT extends String". Évidemment cela génère un avertissement: Le paramètre de type VT ne doit pas être délimité par le type final String. Les types définitifs ne peuvent plus être étendus. Savez-vous s'il existe un moyen de supprimer cet avertissement (Eclipse)? Si vous vous demandez comment je dois avoir ceci:@SuppressWarnings pour le paramètre de type final
import java.util.ArrayList;
import java.util.List;
class A<T> {
T value;
B<? super T> b;
void method() {
b.method(value,new ArrayList<T>());
}}
interface B<X> {
<VT extends X> VT method(VT p, List<VT> lst);
}
// works fine
class C implements B<Number> {
public <VT extends Number> VT method(final VT p, final List<VT> lst) {
return p;
}}
// causes warning
class D implements B<String> {
public <VT extends String> VT method(final VT p, final List<VT> lst) {
return p;
}}
// error: The type E must implement the inherited abstract method B<String>.method(VT, List<VT>)
class E implements B<String> {
@SuppressWarnings("unchecked")
public String method(final String p, final List<String> lst) {
return p;
}}
Merci! Cristian
Je désactiver l'avertissement. –
Je suppose que la seule façon de supprimer l'avertissement est '@SuppressWarnings (" all ")'. – Balder