в соответствии с заголовком, моя проблема состоит в том, чтобы получить длину массива универсального массива, который находится внутри экземпляра класса, который был инициализирован этим универсальным типом. Когда я хочу получить длину своего массива (ak.array.length), java выдает эту ошибку:
Исключение в потоке "основной" java.lang.ClassCastException: [Ljava.lang.Object; нельзя привести к [Ljava.lang.String; в Testclass.main(Testclass.java:15)
Так где же моя ошибка в этом коде? заранее спасибо
public class Testclass {
static class ArrayKeeper<T> {
protected T[] array;
public ArrayKeeper() {
array = (T[])new Object[5];
}
}
public static void main(String[] args) {
//create a new instance of inner class ArrayKepper (type String)
Testclass.ArrayKeeper<String> ak = new Testclass.ArrayKeeper<String>();
System.out.println(ak.array.length); //cast error here.
}
}