java - List<?>, List, List<Object>, List<? extends Object>各有什么区别?
巴扎黑
巴扎黑 2017-04-17 17:42:19
0
4
645

List<?>, List, List<Object>, List<? extends Object>各有什么区别?

巴扎黑
巴扎黑

모든 응답(4)
Ty80

위 분들의 이해에 문제가 있는 것 같습니다. 우선 List<?>는 어떤 유형도 나타내지 않고 특정 유형을 나타냅니다. 프로그래밍할 때 이 특정 유형은 무엇입니까? List는 일반 매개변수가 없는 목록을 나타냅니다. 이에 대해 말할 것도 없고 List<Object> 이는 객체이며, 마지막으로 List< ? 확장 Object>는 객체의 하위 클래스가 아닌 Object의 특정 하위 클래스 중 하나를 저장합니다.

마지막으로 말씀드리고 싶은 점은 <?>가 실제로 <? 확장 객체>와 약간 유사하다는 것입니다. 예를 들면 다음과 같습니다. 🎜> 으아악

그러나 이러한 차이점은 컴파일 시 컴파일러에 의해서만 생성되며, 삭제로 인해 모두 List<Object>

개인적인 이해입니다

大家讲道理

List<?>List: 모든 유형의 객체를 컬렉션에 배치할 수 있음을 의미합니다. List을 단독으로 사용하면 Eclipse에 경고가 표시됩니다.

: Object 유형의 객체를 컬렉션에 저장하는 방법입니다. Java의 상속 및 상향 변환 메커니즘을 이해하면 이 컬렉션이 실제로 모든 유형의 객체를 저장할 수 있다는 것을 쉽게 알 수 있습니다. List<Object>

>: 컬렉션에 저장된 객체는 Object 클래스의 하위 클래스 객체여야 함을 의미합니다.

List<? extends Object자세한 내용은 "Java Core Technology(1권)"의 Generic에 관한 부분을 참고하세요...

小葫芦

리스트는 일종의 컬렉션입니다.
< >는 일반 유형을 나타냅니다.
List는 object 유형의 객체를 이 컬렉션에 배치할 수 있음을 나타냅니다. 객체 클래스에서 상속되는 모든 유형의 객체를 이 컬렉션에 배치할 수 있습니다.

컬렉션 프레임워크의 작은 동작에 대해 더 알고 싶다면 제가 쓴 칼럼을 읽어보세요. 컬럼에는 컬렉션 프레임워크에 대한 장이 포함되어 있습니다

大家讲道理

**List>, List, List 차이점은 다음과 같습니다.
1. JDK의 Generics는 유형 확인을 위한 것임을 이해합니다. 컬렉션에 있는 항목의 경우 <>의 유형을 제한하면 온라인 실행 시 예외가 발생하는 대신 컴파일 중에 오류를 최대한 확인할 수 있습니다.
2. List를 이렇게 작성하면 Eclipse에서 아래에 노란색 선이 생기고 경고가 뜹니다. 그리고 그것도 불규칙하게 쓰여지고, 나머지는 표준화된 방식으로 쓰여져 있다.
3.List>; List는 Object 유형만 넣을 수 있지만 Object는 모든 클래스의 상위 클래스이므로 다른 클래스는 (Object)를 추가하여 강제로 유형 변환할 수 있습니다. front, List도 동일하므로 어떤 클래스나 Object 클래스 자체를 넣을 수 있습니다.
도움이 되셨으면 좋겠습니다~~**

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