首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

初学者一枚,点基础知识

2012-12-29 
菜鸟一枚,请教各位点基础知识public class Source {public static ArrayListAnimal anis new ArrayLis

菜鸟一枚,请教各位点基础知识


public class Source {
public static ArrayList<Animal> anis = new ArrayList<Animal>();
}

--------------------

public class AddMessageEditor extends EditorPart {
         List<Animal> list = Source.anis; 
for(Animal animal : Source.anis) {
}
        for(Animal animal : list){
        }
}

请问 声明一个 list 和直接用 Source.anis 有区别吗?

[解决办法]
一个现成 一个现造
[解决办法]
看你想说什么区别了,,用起来的话感觉没什么区别。反正两个引用都指向同一list
[解决办法]
引用:
Java code?12345678910111213public class Source {    public static ArrayList<Animal> anis = new ArrayList<Animal>();} -------------------- public class ……

这个没什么区别吧,【List<Animal> list = Source.anis】这里的list和anis都指向同一个地址,因为Source.anis定义的时候就创建了Object,所以list赋值后就能直接使用了。用起来是一样的!
[解决办法]
没有区别。

都是调用了同一个对象的 iterator() 方法,得到一个迭代器。
[解决办法]
这个好像有点区别,下面这句代码:
 List<Animal> list = Source.anis; 

已经向上转型了,在使用list时,ArrayList特有的方法就不可用了。
比如trimToSize(),ensureCapacity(int minCapacity)。

//list.ensureCapacity(10);//不能通过编译。
Source.anis.ensureCapacity(10);//可以编译。

热点排行