如何在Java中创建通用数组?
由于Java泛型的实现,您不能拥有这样的代码:
public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation }}
如何在保持类型安全的同时实现这一点?
我在Java论坛上看到了这样的解决方案:
import java.lang.reflect.Array;class Stack<T> { public Stack(Class<T> clazz, int capacity) { array = (T[])Array.newInstance(clazz, capacity); } private final T[] array;}
但我真的不知道发生了什么。
一只甜甜圈
喵喵时光机
相关分类