Java 如何创建具体参数化类型的数组而不使用@SuppressWarnings(";unchecked";)

Java 如何创建具体参数化类型的数组而不使用@SuppressWarnings(";unchecked";),java,generics,arraylist,warnings,suppress-warnings,Java,Generics,Arraylist,Warnings,Suppress Warnings,我刚开始学习Java,我得到了“@SuppressWarnings(“unchecked”)” 我确信我的一个静态变量正在制造麻烦 static ArrayList<Integer>[] docNumber = (ArrayList<Integer>[]) new ArrayList[20]; static ArrayList[]docNumber=(ArrayList[])新的ArrayList[20]; eclipse说“类型安全:未选中从ArrayList[]到

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

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

static ArrayList<Integer>[] docNumber = (ArrayList<Integer>[]) new ArrayList[20];
static ArrayList[]docNumber=(ArrayList[])新的ArrayList[20];
eclipse说“类型安全:未选中从ArrayList[]到ArrayList[]的强制转换” 但我真的不知道如何避免这个问题

你能告诉我怎么解决这个问题吗


谢谢

使用阵列是无法避免的


改用
列表

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

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

List<Integer> docNumber=new ArrayList<Integer>();
List docNumber=new ArrayList();
如果您想保留列表列表,则可以执行以下操作:

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

您是否正在尝试实现此目标(
整数数组列表)

static ArrayList docNumber=new ArrayList();

的可能重复项是否确实要创建
ArrayList
的数组?也许你真的只是想要
ArrayList
?事实上,我链接到的帖子上被接受的答案指向了错误的解释。请参见此处:
   static ArrayList<Integer[]> docNumber = new ArrayList<Integer[]>();