比如说 List<String> list= new ArrayList<String>(); 你可以 list = new LinkedList<String>();但是 ArrayList<String> list = new ArrayList<String>(); 你就不能那样做了至于这样做的好处,嘿嘿,可能是为了节省栈空间吧。
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);这样就意味着你不用修改程序源码,只要必定配置文件就可以改变程序的实现了(行为),是不是很有意思呢?多态的意义远大于此上面的代码仅作示例用
那么coll应该是List还是Set好?不过逻辑上来说,不管哪个,都会有最大值可以返回
这个里面传List和ArrayList都可以啊,没有体现出用List的好处啊
List<String> list= new ArrayList<String>();
你可以
list = new LinkedList<String>();但是
ArrayList<String> list = new ArrayList<String>();
你就不能那样做了至于这样做的好处,嘿嘿,可能是为了节省栈空间吧。
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);这样就意味着你不用修改程序源码,只要必定配置文件就可以改变程序的实现了(行为),是不是很有意思呢?多态的意义远大于此上面的代码仅作示例用
这种用法的好处楼上说了很多,google也可以找到很多。
也许你用不到那些优点,此时感觉是一种习惯。