嗨,我正在为即将进行的测试进行修订,我遇到了一个问题,我遇到了麻烦。
我必须修改此代码http://pastebin.com/ED2A7VWy以提供Queue的通用实现。问题是Queue使用了一个数组,由于某种原因,泛型似乎不能很好地与数组一起使用。我试过了:
public class Queue<E>{
private E[] eArray = new E[5];
...
}
但这似乎不起作用。
答案 0 :(得分:2)
答案 1 :(得分:-2)
你可以这样做 - 不禁止警告 - 没有施法:
public class Objects {
// Call without a second parameter to get an array of the specified type with the specified length.
public static <T> T[] newArray(int length, T... empty) {
return Arrays.copyOfRange(empty, 0, length);
}
}
public class Test<T> {
public void test() {
// Only specify the length - Java creates an empty one for the varargs param.
T[] demo = Objects.<T>newArray(5);
System.out.println(Arrays.toString(demo));
}