위 분들의 이해에 문제가 있는 것 같습니다. 우선 List<?>는 어떤 유형도 나타내지 않고 특정 유형을 나타냅니다. 프로그래밍할 때 이 특정 유형은 무엇입니까? List는 일반 매개변수가 없는 목록을 나타냅니다. 이에 대해 말할 것도 없고 List<Object> 이는 객체이며, 마지막으로 List< ? 확장 Object>는 객체의 하위 클래스가 아닌 Object의 특정 하위 클래스 중 하나를 저장합니다.
마지막으로 말씀드리고 싶은 점은 <?>가 실제로 <? 확장 객체>와 약간 유사하다는 것입니다. 예를 들면 다음과 같습니다. 🎜>
으아악
그러나 이러한 차이점은 컴파일 시 컴파일러에 의해서만 생성되며, 삭제로 인해 모두 List<Object>
위 분들의 이해에 문제가 있는 것 같습니다. 우선 List<?>는 어떤 유형도 나타내지 않고 특정 유형을 나타냅니다. 프로그래밍할 때 이 특정 유형은 무엇입니까? List는 일반 매개변수가 없는 목록을 나타냅니다. 이에 대해 말할 것도 없고 List<Object> 이는 객체이며, 마지막으로 List< ? 확장 Object>는 객체의 하위 클래스가 아닌 Object의 특정 하위 클래스 중 하나를 저장합니다.
마지막으로 말씀드리고 싶은 점은 <?>가 실제로 <? 확장 객체>와 약간 유사하다는 것입니다. 예를 들면 다음과 같습니다. 🎜> 으아악그러나 이러한 차이점은 컴파일 시 컴파일러에 의해서만 생성되며, 삭제로 인해 모두 List<Object>
개인적인 이해입니다List<?>
및List
: 모든 유형의 객체를 컬렉션에 배치할 수 있음을 의미합니다.List
을 단독으로 사용하면 Eclipse에 경고가 표시됩니다.: Object 유형의 객체를 컬렉션에 저장하는 방법입니다. Java의 상속 및 상향 변환 메커니즘을 이해하면 이 컬렉션이 실제로 모든 유형의 객체를 저장할 수 있다는 것을 쉽게 알 수 있습니다.
>: 컬렉션에 저장된 객체는 Object 클래스의 하위 클래스 객체여야 함을 의미합니다.List<Object>
List<? extends Object
자세한 내용은 "Java Core Technology(1권)"의 Generic에 관한 부분을 참고하세요...리스트는 일종의 컬렉션입니다.
< >는 일반 유형을 나타냅니다.
List
**List>, List