final
有一个关于在 Java 中为HashSet
、List
、Set
等使用构造的办公室查询。
假设您有一个要更新的用户名列表。列表本身不会被重新初始化,只是它的值发生了变化。
然后提出了用户名变量是否应该是 a 的问题final
。
private static final List<String> USERNAMES = new List<String>();
...
USERNAMES.add("user1");
或者
private static List<String> usernames = new List<String>();
...
usernames.add("user1");
我的问题是,按照惯例,您会使用哪个?
可以提出该论点,暗示它不可修改的大写字母在这里无效,因为您可以修改列表的内容(您不能修改列表实例本身)。因此,它实际上不是一个常数。
出于同样的原因,说list
不可修改是有效的,因此大写 &final
很好。
想法?Java 约定会说什么?
我真的对答案很感兴趣,并相信这是一个问题。Java 约定必须对此有立场或评论。