2016-04-13 48 views
0

我開了一個班,我寫道:錯誤在實例 '排隊'

private Queue<Player> players; 

,然後在構造函數中:

this.players = new Queue<Players>(); 

,但它說,它是一個錯誤:

cannot instantiate the type Queue<Player>

我創建了一個類Player與構造函數和一切,我也進口Queue.

可能是什麼問題?

+5

'Queue'是一個接口或抽象類 – 3kings

+4

'隊列'是接口,因此它不能被實例化。你應該創建一個* concrete *類的實例,例如'this.players = new LinkedList <>()' –

+3

是隊列是一個接口使用ArrayDeque,PriorityQueue等 –

回答

1

我推測你正在使用java.util.Queue,它是一個接口。您需要Queue接口的具體實現來創建Queue實例。

您可以選擇其中一個java.util.Queue實現。例如,

Queue<String> myQueue = new LinkedList<String>(); 
+1

你可以使用Java 7以後的鑽石算子來做自動泛型類型推斷。 (即'隊列 myQ = new LinkedList <>();') – callyalater