Я хочу создать свои собственные потоки Java, чтобы легко анализировать некоторые строки.Но я не могу преобразовать массив объектов в T-массив.
Что я уже пробовал:
// T[] <- Object[]
arr = (T[]) cache.toArray();
и
T[] a = new T[6]; // Cannot create a generic array of T
int index = 0;
for (T i : arr) {
a[++index] = i;
}
Код:
public StreamParser<T> forEach(Consumer<? super T> action) {
ArrayList<T> cache = new ArrayList<T>();
for (T i : arr) {
action.accept(i);
cache.add(i);
}
System.out.println(arr instanceof String[]);
arr = (T[]) cache.toArray();
System.out.println(arr instanceof String[]);
return this;
}
Вывод:
true
false