我有一个关于在集合中使用泛型的问题。
ArrayList<Integer> al=new ArrayList<Integer>();
我们知道上述代码意味着
ArrayList
al
只能存放整数。因此,下一行代码会导致编译错误:al.add("wwww");
但我不明白下面这行代码的意思,
ArrayList al=new ArrayList<Integer>();
在声明时,我们没有将 ArrayList<Integer>
放在左侧。现在,以下行不会导致编译错误:
al.add("wwww");
那么如果我这样声明:
ArrayList al=new ArrayList<Integer>();
这意味着a1
可以接受任何类型吗?
这两种声明有什么区别?