J'ai une classe qui étend le tableau ArrayList de Java. J'utilise actuellement Java build 1.6.0_22-b04. Ressemble à ceci:Problème lors de la substitution de la méthode ArrayList add
public class TokenSequence extends ArrayList<Token>{
public TokenSequence (Collection<Token> tokens) {
super(tokens);
}
public void add(Object o) {
if (o instanceof Token){
add((Token)o);
}
else if (o instanceof TokenSequence)
add((TokenSequence)o);
else
add(new Token(o.toString()));
}
}
Mon problème dans le code ci-dessus est la méthode add (Object o). Java ne me laisse pas compiler le code, car il dit
"Name clash: The method add(Object) of type TokenSequence has the same erasure as add(E) of type ArrayList<E> but does not override it"
Ce même code fonctionne sans problème dans un autre ordinateur sous Java 1.6.0_17-b04 construire.
Quelqu'un a une idée sur une solution rapide?
Êtes-vous sûr que votre code ne compile pas? –
@org: Il a probablement mis les avertissements en erreur. – SLaks
@SLaks standard javac ne prévient même pas –