2011-01-27 2 views

답변

48

바이트, int는 원시이며 컬렉션은 개체에서 작동합니다. 당신은, 당신은 자바 제네릭 형식 매개 변수로 프리미티브를 가질 수 없습니다,이

public static Map<Byte, Integer> sizeNeeded = new HashMap<Byte, Integer>() { 

     { 
      put(new Byte("1"), 1); 
      put(new Byte("2"), 2); 
     } 

     ; 
    }; 

이 같은 새로운 맵을 생성 할 필요가 데이터

모든
+0

왜 downvote ?? –

+1

아니,하지만 아마'새 바이트 ((1 바이트)'.. 때문에 아마도 autoboxing에 의존하지 .. 그리고 init 절의 끝에';'사용되지 .. 그냥 못 생겼어! – dacwe

+0

@dacwe 캐스트 물건을 지적 해 주셔서 고맙습니다. –

1

먼저 채워 넣어 메소드를 호출 initializer block를 사용하여 Map<byte,int>은 불가능하므로 Map<Byte,Integer>이어야합니다.

둘째로, 아니요, 지금은 Java에 컬렉션 리터럴이 없습니다.하지만 이들은 Project Coin의 새로운 기능으로 간주됩니다. 불행히도, 그들은 Java 7에서 삭제되었고 Java 8까지 기다려야합니다 ...

관련 문제