我有一些类的ArrayList
字段只是有时使用。我通常像这样初始化这些字段:
private List<Widget> widgets = new ArrayList<>();
我了解使用重载构造函数来设置初始容量,所以我想知道是否应该这样声明这些字段:
private List<Widget> widgets = new ArrayList<>(0);
困境是,如果我用 0 初始化列表,那么列表将始终必须重新初始化自身以添加甚至一个项目。但是,如果我使用默认构造函数,它给出的默认容量为 10,那么我可能有一堆项目(并且可能有很多)正在浪费未使用容量的内存。
我知道你们中的一些人会拒绝询问“多久一次”和“您期望多少项目”,但我真的在寻找“最佳实践”方法。一切都是平等的,是否应该使用(0)
有时()
使用的列表进行初始化?
始终初始化列表是我们部门的政策,因此我可能不会简单地将列表保留为null
,此外,这只会回避问题。