比如:List<String> list= new ArrayList<String>();我知道都这样写,就是不知道有什么好处呢?转换?高手指教下,多谢

解决方案 »

  1.   

    面向接口编程的好处 lz  Google 一下 ,网上多的去了
      

  2.   

    Collections.max(Collection<? extends T> coll) 
    那么coll应该是List还是Set好?不过逻辑上来说,不管哪个,都会有最大值可以返回
      

  3.   


    这个里面传List和ArrayList都可以啊,没有体现出用List的好处啊
      

  4.   

    比如说
    List<String> list= new ArrayList<String>();
    你可以
    list = new LinkedList<String>();但是
    ArrayList<String> list = new ArrayList<String>();
    你就不能那样做了至于这样做的好处,嘿嘿,可能是为了节省栈空间吧。
      

  5.   


    List l = new ArrayList();
    List l = new LinkedList();如果换成这样呢
    List l = (List)Class.forName("java.util.ArrayList");接着
    String lstr = "java.util.ArrayList";
    List l = (List)Class.forName(lstr);最后
    String lstr = Propertites.getProperty("key"); //从配置文件获得
    List l = (List)Class.forName(lstr);这样就意味着你不用修改程序源码,只要必定配置文件就可以改变程序的实现了(行为),是不是很有意思呢?多态的意义远大于此上面的代码仅作示例用
      

  6.   

    说的有点道理。
    这种用法的好处楼上说了很多,google也可以找到很多。
    也许你用不到那些优点,此时感觉是一种习惯。