2013-05-07 1 views
1

List<Integer>List<? super Integer>의 차이점은 무엇입니까?리스트 <Integer>과리스트 간의 차이 <? super Integer>

어떤 것이 좋은 연습인지 또는 무엇을 사용해야 할 때?

+0

이 경우 '슈퍼'가 작동합니까? –

+0

@Marco Forberg, 예! 달성하고자하는 것에 따라. –

+0

가능한 복제 http://stackoverflow.com/q/3847162/1313143 – MarioDS

답변

3

List<Integer>은이 유형에 Integer를 경계하는 List이다. 즉, Integer을 받고 생산할 수 있습니다.

List<? super Integer>IntegerInteger 수퍼 또는 어떤 값을 수용하는 바운드List이다.

제 2 옵션은 가장 PECS 원리에 (프로듀서 확장을 의미PECS, 소비자 슈퍼)를 사용한다. 이는 실제 유형과 관계없이 유형이 T 인 항목을 추가하려는 경우 유용합니다.

자세한 내용은 관련 게시물 here을 참조하십시오.

0

List<Integer>이 가장 좋습니다.

List<? super AbstractObject> 다형성을 다루는 경우 더 좋은 옵션입니다.

0

가장 큰 차이점은 Integer 유형으로 List<Integer>의 요소를 가져올 수 있지만 요소가 List<? super Integer>을 벗어나면 Object 유형 만 얻을 수 있다는 것입니다.

관련 문제