Java: Generics und Varargs
2006-05-30 23:07
UncleOwen
Ich hab eine Hilfsklasse, die mir einige Hilfemethoden fuer Comparator-en definiert:
Und eine dazugehoerige Testklasse:
Beim Aufruf von .chain() meldet Eclipse-3.2-RC6 nun aber:
Hmm… Ach? Und was ist daran schlecht? Was sollte man stattdessen machen? Ich koennte natuerlich die Warnungen runterdrehen, aber eigentlich hab ich ganz gerne hohe Warneinstellungen.
public class Comparators {
public static <T> Comparator<T> chain(final Comparator<? super T>...comparators) {
[...]
}
}
Und eine dazugehoerige Testklasse:
public class ComparatorsTest extends TestCase {
private class StringComparator implements Comparator<String> {
[...]
}
private StringComparator comparators[];
public void testChain() {
assertTrue(Comparators.chain(comparators[0], comparators[1], comparators[2]).compare("abc", "xyz") < 0);
[...]
}
}
Beim Aufruf von .chain() meldet Eclipse-3.2-RC6 nun aber:
Type safety: A generic array of Comparator<? super String> is created for a varargs parameter
Hmm… Ach? Und was ist daran schlecht? Was sollte man stattdessen machen? Ich koennte natuerlich die Warnungen runterdrehen, aber eigentlich hab ich ganz gerne hohe Warneinstellungen.