2014-01-31 2 views
0

ArrayBlockingQueue를 사용하려고하지만 올바른 구문을 얻지 못하는 것 같아 사용하기 위해 가져온 항목을 정확히 알지 못합니다. 선언에 대한Java의 대기열에 대한 간단한 대답이 필요합니다.

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

하지만 int 치의 모두 INT "이 토큰 후 예상 크기"에 오류가 있음을 말한다 : 나는 이것을 시도했다. 이 문제가 해결하기가 쉽다고 생각합니다. 문제를 해결하기 위해 가져 오지 않았거나 구문이 잘못되어있을 수 있습니다. 따라서 도움을 주시면 감사하겠습니다. 감사합니다

답변

2
BlockingQueue<int> 

Java Generics는 기본 유형을 다루지 않습니다. Integer 개의 인스턴스를 사용해야합니다.

이것은 유형 소실 접근 방식의 아티팩트입니다. intObject으로 지울 수없고 int으로 작업하는 데 필요한 실제 바이트 코드는 완전히 다릅니다. C++ 접근 방식을 사용하여 각 유형 매개 변수에 대한 템플릿을 별도로, 새 바이트 코드로 새 클래스로 인스턴스화하는 경우에만 가능합니다.

+0

아 감사합니다. – seanscal

0

원자 유형은 객체가 될 필요가있는 요소로 사용할 수 없습니다. 정수를 사용해보십시오.

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