public class q177 { public static void append(List list) {
list.add("0042");
} public static void main(String[] args) {
List<Integer> intList = new ArrayList<Integer>();
append(intList);
System.out.println(intList.get(0));
}
}请问为什么String类型的"0042"也被装进了intList呢?不是已经用了泛型了吗?
public interface List<E>{
...........
...........
void add<E e>;
}
List<Integer> intList所以intList的add方法自动给形参设定类型void add(Integer i)
传递时候传递的指示引用所以append方法中的list和intList指向同一个对象,但是list没有制定形参
list所对应的add方法为void add(E e)所以可以加入字符串