将所有字段设置为null是一个好习惯吗?

时间:2014-03-17 00:35:51

标签: java

让所有字段等于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();
  }

2 个答案:

答案 0 :(得分:1)

private Map listofProducts = null;

private Map listOfProducts;

是平等的陈述,所以没有。这是毫无意义的,我真的不喜欢这个代码的外观。

答案 1 :(得分:0)

Java auto将对象初始化为null,但有时显式地将其设置为null可以是一种文档形式,如果没有别的话。例如,通常会期望构造函数初始化实例属性。显式初始化为null的一个属性可以说&#34;这在构造函数中没有初始化&#34;或&#34;这使用延迟初始化,请注意&#34;。这可能意味着始终通过getter进行代理或期望通过null检查来保护访问。但是你应该建立这样的模式。