【问题标题】:java final array lowercase or uppercasejava最终数组小写或大写
【发布时间】:2015-03-25 20:33:42
【问题描述】:

我了解干净的代码约定要求最终变量在 Java 中为 ALL_CAPS。但是如果我的变量是一个数组呢?必须全部大写吗?至于以下哪一项是最佳做法:

public static final String[] MY_ARRAY = {"A", "B"};
//...
String str = MY_ARRAY[0];

或者

public static final String[] myArray = {"A", "B"};
//...
String str = myArray[0];

【问题讨论】:

  • 我不确定变量的类型是否重要,如果它是最终的,我仍然会使用 MY_ARRAY 来知道它是最终的。
  • 这是一个主要基于意见的问题。
  • 您应该使用myArray,因为它不是一成不变的(并且是公开的,因此可以从其他类中更改)。

标签: java arrays variables final


【解决方案1】:

据我所知,没有 Java 代码约定提倡 all 最终变量应该全部大写。 常量应该全部大写,常量通常指的是不可变(或故意从不改变)的最终字段。

在这种情况下,您使用的是数组,并且由于它是公开的,因此很可能会发生变异。出于这个原因,我不会将其视为常数,因此请使用myArray

作为参考,这里引用了官方 Oracle Java 代码约定:

声明为类常量的变量名和 ANSI 常量名应全部大写,单词之间用下划线 (“_”) 分隔。 (应避免使用 ANSI 常量,以便于调试。)

【讨论】:

  • 非常感谢。所以如果变量是private 那么它就是MY_ARRAY?
  • 如果它是私有的并且你不改变它,那么是的,这将有资格作为一个常量并且适合在所有大写字母中命名。
  • final 与引用有关,与对象无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-17
  • 2013-04-21
  • 2016-04-04
  • 1970-01-01
  • 2016-11-09
  • 2017-02-21
  • 2012-05-13
相关资源
最近更新 更多