在Java中获取未经检查或不安全的操作

时间:2017-05-16 14:15:36

标签: java

我已经检查了其他类似的问题。但是无法弄清楚为什么它会在我的代码中发生:

// Array  of lists for Adjacency List Representation
LinkedList<Integer> adj[];

// Constructor
Prog1(int v) {
    V = v;
    array=new String[V];
    for(int i=0;i<V;i++)
        array[i]="*";

    adj = new LinkedList[v];
    for (int i=0; i<u; ++i) {
        adj[i] = new LinkedList<Integer>();
    }
}

1 个答案:

答案 0 :(得分:0)

此行导致问题

adj = new LinkedList[v];

这会编译,但会发出警告,因为它是原始类型,这基本上意味着它不是通用的。但是,

adj = new LinkedList<>[v]; 

在Java中无效。您无法创建泛型类型的数组。而是创建ArrayList<ArrayList<Integer>>

ArrayList<ArrayList<Integer>> adj;