List使用注意事项
1.我们通常使用的是ArrayList,但是为什么我们要申明为接口呢?
List<Person> listOfPerson = new ArrayList<Person>();//方法一而不是直接申明成一个具体的实现类:ArrayList<Person> listOfPerson = new ArrayList<Person>();//方法二
?这是因为List接口的实现类很多,ArrayList是其中的一个。如果代码中需要使用List的其它实现类,比如:LinkedList或者Vector。那么程序就很容易改写了。
?
尽管方法二的效率要比方法一高些,但是通常我们不这样做。而是申明为接口。
?
?
2.通常我们会用到的是将一个List赋给另外一个List,我们要注意下这两种做法的区别:
List<Person> myList1 = new ArrayList<Person>();for(int i = 0; i < 100; i++){ //do somthing... myList1.add(i);}Lsit<Person> myList2;如果我这样写:myList2 = new ArrayList<Person>();//没有必要了myList2 = myList1;表示:让myList2指向myList1所指向的同一个对象。所以myList2没有必要new一份出来,可以减少一个对象如果要让myList2从myList1中拷贝一份过来,而不是简单的指向的话,那么我们需要new一份myList2。并且调用addAll().将对象添加myList2 = new ArrayList<Person>();//一定要myList2.addAll(myList1);?
?