如何在不使用@SuppressWarnings(“unchecked”)的情况下创建具体参数化类型的数组

时间:2012-11-08 19:59:29

标签: java generics arraylist warnings suppress-warnings

我刚开始学习Java而且我得到了“@SuppressWarnings(”unchecked“)”

我确信我的一个静态变量正在制造麻烦

static ArrayList<Integer>[] docNumber = (ArrayList<Integer>[]) new ArrayList[20];

eclipse说“类型安全:未经检查从ArrayList []转换为ArrayList []” 但我不确定如何避免这个问题

你能告诉我如何解决这个问题吗?

感谢

3 个答案:

答案 0 :(得分:2)

数组无法避免。

改为使用List<List<Integer>>

答案 1 :(得分:1)

为了避免使用@SuppressWarnings(“unchecked”),您应该向编译器提供执行确保类型安全所必需的所有类型检查所需的信息,请参阅unchecked FAQ

在您的情况下,我假设您正在尝试维护文档整数列表,为此您需要:

List<Integer> docNumber=new ArrayList<Integer>();

如果您想保留一份清单,那么您可以这样做:

List<List<Integer>> docNumber=new ArrayList<List<Integer>>();

答案 2 :(得分:0)

您是否尝试实现此目标(List of Array Of Integer)?

   static ArrayList<Integer[]> docNumber = new ArrayList<Integer[]>();