gpt4 book ai didi

java - 常量集合应该放在类或接口(interface)中吗?

转载 作者:IT老高 更新时间:2023-10-28 20:55:18 26 4
gpt4 key购买 nike

如果我想集中声明一组静态常量,以便在将它们放在类或接口(interface) (Java) 中时可以在各种项目之间共享它们。

过去我看到它们大多放在一个类中,但我开始认为,由于该类不会也不应该被实例化,也许它们在接口(interface)中会更好,但是接口(interface)不应该由任何人实现类,例如

public class ErrorCodes {
public static final String ERROR_1 = "-1";
public static final String ERROR_2 = "-2";
}

public interface ErrorCodes {
public static final String ERROR_1 = "-1";
public static final String ERROR_2 = "-2";
}

最佳答案

如果他们有很强的联系,那么我会把他们放在一个枚举中:

public enum Error {
ERROR_1("-1", "foo went wrong"),
ERROR_2("-2", "bar went wrong");

private final String id;
private final String message;

Error(String id, String message) {
this.id=id;
this.message=message;
}

public String getId() {
return id;
}

public String getMessage() {
return message;
}
}

优点是您可以在代码中实现类型安全,并且可以轻松添加基于 id 的查找(通过在构造函数中构建 HashMap<String,Error> 或简单地循环 values())。

关于java - 常量集合应该放在类或接口(interface)中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372991/

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