gpt4 book ai didi

用于存储所有已定义字符串的 Java 约定

转载 作者:行者123 更新时间:2023-11-29 09:48:39 28 4
gpt4 key购买 nike

Java 存储预定义字符串集的主要约定是什么?现在我有一个包含我使用的所有字符串的类,但感觉确实有更好的方法来做到这一点。

这就是我在 my_strings.java 类中所做的

public final static String s1 = "test";
public final static String s2 = "test2";
...

最佳答案

您可以使用资源包。在src 或所需包对应的子目录中创建名为messages.properties 的文件,并按以下方式向其中添加字符串。无需报价。

ClassThatUsesAString.stringName=foo
AnotherClass.stringName=bar
AnotherClass.anotherString=baz

然后您可以按如下方式访问这些字符串:

ResourceBundle rsrc = ResourceBundle.getBundle("messages");

然后:

rsrc.getString(stringName);

例如,如果FooClass需要字符串quxString,则添加到messages.properties:

FooClass.quxString=waldo was here

注意缺少引号。现在捕获它:

rsrc.getString("FooClass.quxString");

这不会强制执行类边界,使用类命名只是为了方便。

如果字符串密切相关,枚举可能会更好,要么直接,要么为不同的本地化指定消息名称(即枚举包含“ECONNREFUSED”和“ECONNABORTED”以及映射到“Connection refused”和“Connection aborted” ”在一个包中,“conexión rechazada”/“Conexión abortada”在另一个包中

Eclipse 用户:Eclipse 使用 Source→Externalize Strings 自动执行此操作(尽管以更复杂的方式)

关于用于存储所有已定义字符串的 Java 约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17663385/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com