java List new与不new有什么区别?如下面的代码所示。

List<Host> hostList = new ArrayList<Host>();
hostList = datacenter0.getHostList();


List<Host> hostList = datacenter0.getHostList();
有什么区别?

有一点点区别的,

一般都是按照第二种来做的,第一种的思路是定义hostlist 然后赋值,第二种是定义的同时赋值,

通常第一种的做法是:
List<Host> hostList ;

hostList = datacenter0.getHostList();

不需要 new ArrayList<Host>();的,因为new 出来也没用过,

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-08-05
/*-----两种方式并无本质区别----------*/
List<Host> hostList = new ArrayList<Host>();
//实例化一个新的List对象,将对象的栈地址赋给hostList
hostList = datacenter(),getHostList();
//将getHostList()方法返回的对象地址赋给hostList
/*---------------------------------------------------*/
List<Host> hostList = datacenter().getHostList();
//在申明是直接将getHostList()方法返回的对象地址赋给hostList
/*-----两种方式并无本质区别----------*/
第2个回答  2014-08-05
第一种写法比较好,new一个对象,有清晰的类型
第3个回答  2014-08-05
new 是一个新对象。
后一个是 引用

本质上没有区别的。
相似回答