【发布时间】:2017-08-01 12:40:24
【问题描述】:
我有一个 Request 类,其中包含许多 final 而不是 final 字段。
它只用于一种类型的请求。 但服务, 它被发送到的地方, 需要一个代码来区分操作的类型。 我创建了一个常量,每次都会使用 Request 类进行初始化。 例如:
public class Request {
@JsonProperty("const")
private static final String CONSTANT = "field"
@JsonProperty("data")
private int data;
public String getConstant() {
return CONSTANT;
}
public int getData() {
return this.data;
}
}
我想过在构造函数内部初始化它或者显式使用操作码作为构造函数的参数, 尽管它永远不会改变。 它应该是静态最终的吗?
问题是, 在这种情况下,最佳做法是什么?
【问题讨论】:
-
我认为当前的编码方式没有问题。 static final 会做你想要完成的事情
-
最好将其定义为 public static final String CONSTANT = "field",然后在任何你可以引用 Request.CONSTANT 的地方。你不需要一个吸气剂。
标签: java coding-style constants