对于常量基本类型和数据结构(如对象)(字符串,对象版本的基元),约定似乎是带有下划线分隔单词的完整上限。这个约定是否适用于诸如线程池之类的东西?
示例:
public static final int MAX_SPEED = 500;
public static final ExecutorService THREAD_POOL = Executors.newCachedThreadPool();
答案 0 :(得分:1)
我认为没有任何此类约定或规则。但是,作为一种良好的做法,人们会按照你正在做的事情进行操作,这些名称是完整的,并且使用下划线分隔单词。
此约定是否适用于线程池等事项?
是的,你可以遵循这个。
来自JLS:
6.8.5常量名称
接口类型中的常量名称应该是final 类类型的变量通常可以是一个或一个序列 更多单词,首字母缩略词或缩写,全部大写,带组件 用下划线分隔" _"字符。常数名称应该是 描述性而非不必要的缩写。通常他们可以 是任何适当的词性。常量名称的示例 包括类的MIN_VALUE,MAX_VALUE,MIN_RADIX和MAX_RADIX 字符。
我会说这是一个偏好的问题。
答案 1 :(得分:0)
在Java 常量变量中使用“静态最终”修饰符声明。此类变量必须仅包含 UpperCase 字符,并且必须使用'_'分隔多个字。
1 static final char END_OF_FILE = 'e';
2 myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
创建约定只是为了提高代码的可读性。因此您可以选择使用它们或留下它们。但是如果你使用它们,你的代码看起来会很专业。 Java Compiler确实希望您使用这些约定。但是有一些语言,你命名变量的方式,向编译器指示它是什么类型的变量。例如,在Ruby中,为了声明一个常量变量,你必须只使用大写来表示变量的整个名称。 Ruby编译器仅以这种方式识别常量变量!
了解更多详情