项目中需要用一个List
接多种List<T>
。
这样写List<Object> list = getType1List();
编译不通过,提示获取的类型与指定的类型不匹配。
但是换成List list = getType1List();
就能编译通过了。这是为什么呢?
PHPz2017-04-17 17:26:05
List list = getType1List();
のようなこの書き方は、ジェネリックスが存在しない前に Java が使用していた書き方です。この書き方は型パラメータがないため、どの型でもコンパイルして渡すことができます。 。
ジェネリックスを使用した後は、一般的にジェネリックスを使用して記述し、型パラメーターを使用することをお勧めします。List<Object> list = getType1List();
このように、コンパイラーは、入力された型が型パラメーターと矛盾しているかどうかをチェックします。エラーが報告されます。