以下の Java コードでは:
import java.util.*;
public class TestGenericMethod {
public static <E> void ArrayToArrayList(E[] a, ArrayList<E> lst) {
for (E e : a) lst.add(e);
}
public static void main(String[] args) {
ArrayList<Integer> lst = new ArrayList<Integer>();
Integer[] intArray = {55, 66}; // autobox
ArrayToArrayList(intArray, lst);
for (Integer i : lst) System.out.println(i);
String[] strArray = {"one", "two", "three"};
//ArrayToArrayList(strArray, lst); // Compilation Error
}
}
コンパイラがこの行をどのように認識しているのか、誰かが説明してくれますか?
ArrayToArrayList(strArray, lst);
例外をスローしますか?
メソッドがジェネリック型のデータを受け入れる場合、整数配列を受け入れるのに文字列配列を受け入れないのはなぜですか?