项目中需要用一个List
接多种List<T>
。
这样写List<Object> list = getType1List();
编译不通过,提示获取的类型与指定的类型不匹配。
但是换成List list = getType1List();
就能编译通过了。这是为什么呢?
PHPz2017-04-17 17:26:05
List list = getType1List();
과 같은 작성 방법은 제네릭이 없기 전에 Java에서 작성했던 방식입니다. 이러한 작성 방법은 유형 매개변수가 없기 때문에 입력된 모든 유형을 컴파일하고 전달할 수 있습니다. .
제네릭을 만든 후에는 일반적으로 제네릭을 사용하여 유형 매개변수를 사용하는 것이 좋습니다.List<Object> list = getType1List();
이와 같이 컴파일러는 입력된 유형이 유형 매개변수와 일치하는지 확인합니다. 오류가 보고됩니다.