2017-05-16 1 views
-3

I Andere ähnliche Questions.But nicht in der Lage, um es herauszufinden geprüft haben, warum die in meinem Code passiert:Erste Ungeprüfter oder Unsichere Operationen in 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>(); 
    } 
} 
+0

Die IDE sagt Ihnen normalerweise, welche Zeile das Problem verursacht und gibt Ihnen auch einen Vorschlag, wie Sie es beheben können. Die Zeile '' adj [i] = new LinkedList () '' wird nicht funktionieren. – f1sh

+1

@ f1sh Warum wird es nicht funktionieren? – Nathan

+0

@Nathan schauen Sie sich an, wie '' adj'' deklariert wird. – f1sh

Antwort

0

Diese Zeile verursacht das Problem

adj = new LinkedList[v]; 

Dies kompiliert, aber gibt eine Warnung, weil es von rohen Typ ist, was im Grunde bedeutet, dass es ist nicht generisch.

adj = new LinkedList<>[v]; 

ist nicht in Java gültig. Sie können kein Array eines generischen Typs erstellen. Erstellen Sie stattdessen ArrayList<ArrayList<Integer>>.

Verwandte Themen