小编Fab*_*nge的帖子

错误的数据类型 - 泛型

在下面的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
}
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下编译器是如何知道这一行的:

ArrayToArrayList(strArray, lst);
Run Code Online (Sandbox Code Playgroud)

抛出异常?

如果该方法接受泛型数据,为什么它接受一个I​​nteger数组但不接受一个String数组?

java generics

3
推荐指数
1
解决办法
93
查看次数

标签 统计

generics ×1

java ×1