我正在阅读 Josh Bloch 的 Effective Java,遇到了第 24 条:消除未经检查的警告。
他们给出了一个类的 toArray() 方法的示例,该方法会生成未经检查的警告。
ArrayList.java:305: warning: [unchecked] unchecked cast
found : Object[], required: T[]
return (T[]) Arrays.copyOf(elements, size, a.getClass());
我无法理解编译器如何诊断它会返回 Object[]?
可能是我无法理解其背后的类型擦除现象。
有人可以解释一下如何返回 Object[] 吗?
提前致谢。