我最近开始了一个新项目,并且我试图将我的实例变量始终初始化为某个值,因此它们都不会在任何时候为null.以下小例子:
public class ItemManager { ItemMaster itemMaster; Listcomponents; ItemManager() { itemMaster = new ItemMaster(); components = new ArrayList (); } ... }
重点是在代码中的某个地方使用实例变量之前避免繁琐的null检查.到目前为止,它工作正常,你大多不需要null值,因为你也可以检查空字符串或空列表等.我没有使用这种方法的方法范围变量,因为它们的范围非常有限,所以不会影响代码的其他部分.
这一切都是实验性的,所以我想知道这种方法是否有效,或者是否有一些我还没有看到的陷阱.保持实例变量初始化通常是一个好主意吗?
我通常将空集合和空集合视为两个独立的东西:
空集合意味着我知道可用零项.null集合会告诉我我不知道集合的状态,这是另一回事.
所以我真的不认为这是一个/或者.如果我在构造函数中初始化它们,我会声明变量final.如果你声明它是最终的,那么读者就会清楚这个集合不能为空.