2つのリストをデカールしたい: 最初は整数のリストです。私はそれを次のように決めます:ジェネリックリストの宣言が異なるのはなぜですか?
List<Integer> ints= Arrays.asList(1,2,3);
うまくいきます。
2番目はオブジェクトのリストです。私はそれを次のように宣言します:
List<Object> objs= Arrays.asList(1,2.13,"three");
しかし私はそれを書いたらすぐにエクリプスを与えます。エラーは次のとおりです。
Multiple markers at this line
- Type mismatch: cannot convert from List<Object&Comparable<?>&Serializable> to
List<Object>
- Type safety: A generic array of Object&Comparable<?>&Serializable is created for
a varargs parameter
私は
List<Object> objs = Arrays.<Object>asList(1,2.13,"three");
を書く場合は代わりにそれが正常に動作します。
私は理由を理解できません。
非常に良い説明をありがとう。このような混乱の場合には、これはゴールデンルールになります。 –