让所有字段等于null并在需要时创建它们是一个好习惯吗?
public class Products {
private Map listofProducts = null;
private Owner owner = null;
private List<listOfProductsResults> listofProductsResults = null;
private String fileName = null;
private long id = 0L;
public Products(){
}
通过这种方式,只要方法需要每个方法,我都会执行以下操作
if(listOfProducts == null){
this.listOfProducts = new HashMap();
}
答案 0 :(得分:1)
private Map listofProducts = null;
和
private Map listOfProducts;
是平等的陈述,所以没有。这是毫无意义的,我真的不喜欢这个代码的外观。
答案 1 :(得分:0)
Java auto将对象初始化为null,但有时显式地将其设置为null可以是一种文档形式,如果没有别的话。例如,通常会期望构造函数初始化实例属性。显式初始化为null的一个属性可以说&#34;这在构造函数中没有初始化&#34;或&#34;这使用延迟初始化,请注意&#34;。这可能意味着始终通过getter进行代理或期望通过null检查来保护访问。但是你应该建立这样的模式。