私が知る限り、 .addメソッドは、ArrayListの整数要素にString要素を追加することはできません。 たとえば、なぜ、整数配列ArrayListに文字列要素を追加できますか?
import java.util.ArrayList;
public static void main (String...args){
ArrayList<Integer>lst = new ArrayList<Integer>();
lst.add("ab");
System.out.println(lst.get(0));
}
}
はコンパイルに失敗します。
ができますあなたの場合、別の方法、
import java.util.ArrayList;
public class Test {
public static void addToList(ArrayList a){
a.add("abcd");
}
public static void main (String...args){
ArrayList<Integer>lst = new ArrayList<Integer>();
addToList(lst);
System.out.println(lst.get(0));
}
}
これは問題なく "ABCD" を印刷します。
実際に、整数のArrayListにメソッドを使用してStringを追加できるのはなぜですか?
をチェックする必要はありません。配列リスト – Beginner
'addToList(ArrayList a)'は[**未加工タイプ**]です(https://docs.oracle.com/javase/tutorial/java/generics/rawTypes.html)。 ***生の種類***を使用しないでください。 –
私が理解していることは、Javaジェネリックがこれを行えるように設計された理由は、すべてがキャストされなければならないときに、ジェネリックのJavaで既存のプログラムを壊さなかったからです。レッスン - ***生のタイプ***を使用しないでください(すでに誰かがそれを言っていましたか?) –