有个函数:
public List getAll(){
List lis = new ArrayList();
list.add("a");
list.add("c");
list.add("b");
return list;
}
在外部调用时:List x = this.getAll(); LinkedList linked = (LinkedList)x;
这样不就有问题。我原来的函数返回的是list 但是实际上在内部是ArrayList,调用add()是排序的。但是如果调用之后变成LinkedList,再去用的话不就改变了原来的排序吗?。
就是说调用之后,可以改变它在函数里的类型的话,这样是不是有点问题? |