java - HashSet<int> 为何有错误?
怪我咯
怪我咯 2017-04-18 10:50:54
0
4
795

代码里用了HashSet<int>
结果出错,说

 Syntax error, insert "Dimensions" to complete ReferenceType
 

改成HashSet<Integer>才OK
为何?

怪我咯
怪我咯

走同样的路,发现不同的人生

모든 응답(4)
洪涛

제네릭의 유형 매개변수는 Object의 하위 클래스여야 하므로 int를 사용할 수 없지만 int의 래퍼 유형 Integer를 사용해야 합니다.

大家讲道理

int는 기본 데이터 유형이므로 작동하지 않습니다. 해당 래퍼 클래스인 Interger를 사용해야 합니다.

左手右手慢动作

간단히 말하면 int는 기본 유형이고 수집 프레임워크에 필요한 메소드를 포함하지 않기 때문입니다. 이것을 예로 들어보겠습니다. hashCode도 구현되지 않았습니다. 해시 값을 계산하는 방법은 무엇입니까? 따라서 Integer를 사용해야 합니다.

제네릭의 유형은 Object의 하위 클래스여야 합니다.

Ty80

int는 데이터 유형이고 Integer는 패키징 클래스입니다. 제네릭에 배치해야 하는 것은 객체 유형입니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿