Java中的原始类型

时间:2014-11-11 21:34:10

标签: java generics

我正在编写一本教科书,其中包含以下代码:

Entry<K,V>[] tempTable = (Entry<K,V>[]) new Entry[size];

当我使用-Xlint进行编译时,它表示右侧的Entry缺少类型参数。但是,我无法添加类型参数,因为这会导致通用数组创建。我想我的问题是两部分的:

  1. 我认为文本中的代码编译正确,所以我可以做些什么来使这个工作原样?
  2. 最优雅的方式是什么?

2 个答案:

答案 0 :(得分:1)

您最好的选择是使用Collection界面,List

1-使它更优雅,

2-摆脱警告

List<Entry<K, V>> tempTable = new  ArrayList<>();       
tempTable.add(new Entry<Integer, Double>());  // or whatever object.

我希望这会有所帮助。

答案 1 :(得分:1)

Entry<K,V>[] tempTable = (Entry<K,V>[]) new Entry<?,?>[size];