声明
static finalpublic字段通常是类常量的标志。对于原始类型(int,double等)和不可变的类(例如字符串和),这是非常好的选择
java.awt.Color。对于数组,问题在于,即使数组引用是恒定的,数组的元素仍然可以更改,并且因为它是一个字段,所以更改不受保护,不受控制并且通常是不受欢迎的。
为了解决这个问题,可以将数组字段的可见性限制为私有或程序包私有,因此在查找可疑修改时可以考虑使用较小的代码体。另外,通常更好的方法是一起删除数组,并使用“列表”或其他适当的集合类型。通过使用集合,您可以控制是否允许更新,因为所有更新都通过方法进行。您可以使用来包装您的收藏,以防止更新
Collections.unmodifiableList()。但是请注意,即使集合是不可变的,您也必须确保存储在集合中的类型也是不可变的,否则会重新出现假定的常量的未经请求的更改的风险。



