谁能给我讲讲List<String> list = new ArrayList<String>();和List list = new ArrayList();的区别吗?
我在项目里这样写List list = new ArrayList();也没出现什么问题啊?
直接答复"去google"、"楼主还是好好去看看j2se的API相关文档吧"之类的朋友就请不要回帖了

解决方案 »

  1.   

    区别就是后一种方式已经过时了,尽管并不影响使用,但你在编译的时候没有提示过时么?
    前一种方式在从中取数据直接就可以用,后一种取出来的都是Object类型,需要你自己转换
      

  2.   

    1.List<String> list 表示这个list里的所有元素都是String,它是一个泛型,就像一个收纳箱,不但可以放对象,还可以在上面标明箱子里面放什么东西;
    2.List list 它就是一个箱子,你可以把相近的东西放在里面;
      

  3.   

    List <String> list = new ArrayList <String>();
    存放String
    List list = new ArrayList();
    存放的是Object
      

  4.   

    jdk5以后的一个新增的东西,泛型,LIst<String> list=new ArrayList<String>()它说明在list中只能够存取String类型的变量,这样如果你在写代码的时候,你往list中添加一个其他类型的变量,编译器就会报错。另外这样写的好处就是你在取list中的变量的时候,你可以不用把它类型转换为String就可以用,比如说:
    for(String s:list){
      System.out.println(s.length());
    }
    如果你写成List list=new ArrayList();
    那你就只能够怎么写了:
    for(int i=0;i<list.size();i++){
       String s=(String)list.get(i);(必须先转型)
       System.out.println(s.length()); 
     
    }
      

  5.   

    List <String> list = new ArrayList <String>();
    在编译时会检查list中目前放进去的是不是都是String类型的数据
    如果不是,编译报错List list = new ArrayList();基本上相当于 List<Object> list = new ArrayList<Object>();也即只要是对象,都可以放进去