List<?>とList<Object>の違い
List<?>とList<Object>の違いについてです。
以下のようなソースを開発している時に見ました。
List<?> list = getList();
List<?>で受け取るとlistにaddするとコンパイルエラーになります。
但し、list.add(null)だけできます。
List<Object> list = new ArrayList<Object>();
List.add("test"); // エラーにならない
これだと何らかの型を返すのでString型をaddしてもエラーになりません。
List<?>だとnull以外addできず違いがわかりませんが覚えておくと良いかもしれません。
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント