在Java中定义常量字符串?

时间:2012-03-09 18:19:59

标签: java string

我有一个常量字符串列表,我需要在Java程序中的不同时间显示它。

在C中我可以在我的代码顶部定义这样的字符串:

#define WELCOME_MESSAGE "Hello, welcome to the server"
#define WAIT_MESSAGE "Please wait 5 seconds"
#define EXIT_MESSAGE "Bye!"

我想知道在Java中做这种事情的标准方法是什么?

7 个答案:

答案 0 :(得分:108)

通常,您会将其定义为类的顶部:

public static final String WELCOME_MESSAGE = "Hello, welcome to the server";

当然,根据您使用此常量的位置,使用适当的成员可见性(public / private / protected)。

答案 1 :(得分:12)

看起来像这样:

public static final String WELCOME_MESSAGE = "Hello, welcome to the server";

如果常量仅用于单个班级,则您需要将它们设为private而不是public

答案 2 :(得分:5)

public static final String YOUR_STRING_CONSTANT = "";

答案 3 :(得分:4)

您可以使用

 public static final String HELLO = "hello";

如果你有很多字符串常量,你可以使用外部属性文件/ simple “常数持有人”类

答案 4 :(得分:4)

或者业界另一个典型的标准是有一个Constants.java命名类文件,其中包含要在整个项目中使用的所有常量。

答案 5 :(得分:2)

只需使用

final String WELCOME_MESSAGE = "Hello, welcome to the server";

该指令的主要部分是'final'关键字。

答案 6 :(得分:2)

我们通常将常量声明为static。原因是每次实例化类的对象时,Java都会创建非静态变量的副本。

因此,如果我们制作常量static,它就不会这样做而会节省内存

使用final,我们可以使变量保持不变。

因此,定义常量变量的最佳做法如下:

private static final String YOUR_CONSTANT = "Some Value"; 

访问修饰符可以是private/public,具体取决于业务逻辑。