2014-01-31 71 views
0

我想使用ArrayBlockingQueue,但我似乎無法得到正確的語法,我不知道我應該導入使用它。我嘗試這樣做:需要一個關於Java中的隊列的簡單答案

BlockingQueue<int> Queue = new ArrayBlockingQueue<int>(100); 

的聲明,但它說,有一個帶有兩個整數的INT「預計將在令牌之後尺寸」的錯誤。我覺得這可能很容易解決,我可能只是沒有導入正確的東西或我的語法關閉,所以任何幫助表示讚賞。謝謝

回答

2
BlockingQueue<int> 

Java泛型不包括原始類型。你將不得不使用Integer實例。

這是Java採取的類型擦除方法的工件。您不能將int擦除爲Object,與int一起使用所需的實際字節碼完全不同。這隻有在C++方法分別爲每個類型參數實例化模板時纔可能,因爲這是一個新的具有新字節碼的類。

+0

啊謝謝你我現在明白了! – seanscal

0

您不能使用原子類型作爲它需要作爲對象的元素,請嘗試整數。

BlockingQueue<Integer> Queue = new ArrayBlockingQueue<Integer>();