Вы не сможете получить массив примитивов, поскольку примитивы нельзя использовать для переменных типа.
ал это, но, к сожалению, я не получил правильный ответ.
class Helper {
public static <T> T[] toArray(List<T> list) {
T[] array = (T[]) new Object[list.size()];
for (int i = 0; i < list.size(); i++) {
array[i] = list.get(i);
}
return array;
}
}
Проверь это:
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("abc");
String[] array = toArray(list);
System.out.println(array);
}
Но есть ошибка:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
at test.Helper.main(Helper.java:30)
Как это решить?
ОБНОВИТЬ
Я хочу этот метод, потому что иногда тип в моем коде слишком длинный:
newEntries.toArray(new IClasspathEntry[0])
Я надеюсь позвонить:
toArray(newEntries)
НАКОНЕЦ-ТО
Кажется, невозможно создать такой метод, спасибо всем большое!