在以下场景中,我有一个接受 2 个 E 型数组的方法。我的理解是,这个 E 参数意味着两个数组都可以是任何类型,但它们必须相同(正如我从这个问题中得出的那样)。我已经用两个数组进行了测试,一个整数和一个双精度,但我没有收到任何错误。我收到的输出是“14”,这是两个数组的组合大小,没有抛出任何错误。
有人可以解释一下为什么会这样吗?
public static <E> void showCombinedLength(E[] array1, E[] array2){
System.out.println(array1.length + array2.length);
}
public static void main(String[] args) {
Integer[] integerArray = {1, 2, 3, 4, 5, 6, 7};
Double[] doubleArray = {1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7 };
PrintArray.showCombinedLength(integerArray, doubleArray);
}
输出:
14