Poniższy kod zawiera błąd "generic array array".Dlaczego nie mogę utworzyć tablicy z wewnętrzną klasą typu ogólnego?
public class TestClass<K, V> {
Entry[] entry;
private TestClass() {
entry = new Entry[10]; // <--- this line gives generic array creation error
}
private class Entry {
public Entry() {
}
}
}
Zastanawiam się, dlaczego tak jest, ponieważ klasa Entry
nie jest rodzajowy klasy i nie ma obiektów typu rodzajowego.
Czy to dlatego, że klasa wewnętrzna nadal ma dostęp do typów ogólnych, nawet jeśli nie używa żadnych? To najlepsze, co mogę wymyślić, ale jeśli tak, to nie rozumiem, dlaczego Java nie może wyglądać i nie używa generycznych typów i dlatego nie jest klasą generyczną?
I tak, widziałem wiele wątków na temat tablic typu rodzajowego, ale nie, nie znalazłem ani jednego dotyczącego klas wewnętrznych.
... idealny, ma sens :) dzięki, będzie oznacz jako poprawną, kiedy mi pozwala. – andy