本帖最后由 罗正荣 于 2013-5-6 22:12 编辑
为什么下面的代码没有错- public static void main(String[] args)
- {
- List<Object>list2=null;
- ArrayList<String> lst2 = new ArrayList<String>();
- List lst = lst2; //即List lst=new ArrayList<String>();
- lst.add("foo");
- lst.add(new Date());
- //为什么lst什么都可以装呢?lst不是指向new ArrayList<String>();
- //不是应该只能装字符串类型吗?
- }
复制代码 如上代码,为什么list这样定义的话,就无论什么类型的元素都可以添加到集合中去呢?
后面的<String>完全不起作用
我开始是以为 List lst=new ArrayList<String>(); 和 List<Object>list=new ArrayList<String>(); 是相等的但是后者报错
哪位道友来给讲解讲解
不胜感激{:soso_e183:} |