在阅读 HashMap 类的源代码时,我注意到他们使用了(第 149 行)
transient Entry<K,V>[] table;
然后他们用 (line 283) 初始化它:
table = new Entry[capacity];
而且我看不到与“未经检查或不安全的操作”相关的警告。
但是当我试图写一些类似的东西时:
TestClass<T>{...
LinkedList<T>[] arrayOfLists; ....
arrayOfLists = new LinkedList[capacity]; //warning here
不幸的是,使用 @SuppressWarnings("unchecked") 对我来说不是一个选择......
LinkedList<String>[]...
还是一样,所以我的问题是我缺少什么区别,对于一组不会引起警告的通用集合来说,什么是一个好的解决方案。顺便说一句,@SuppressWarnning 不幸不是我的选择。