我有一个使用String常量的方法,如下所示,该值永远不会再次使用。
@Service
public class Sample {
public void test(Greet greet) {
greet.setInitial("Hi");
}
}
初始值永远不会改变,Sample类是单例bean。
我的问题是我们应该声明一个常量,如下所示:
@Service
public class Sample {
private static final String INITIAL="Hi";
public void test(Greet greet) {
greet.setInitial(INITIAL)
}
}
从绩效角度看哪种方法更好
答案 0 :(得分:1)
归结为具体情况。在这种情况下,我可能会使用字符串文字 greet.setInitial("Hi");
而不是常量。但这实际上取决于您希望如何处理或组织此值,例如,如果您将变量视为常量:
@Service
public class Sample {
public final int DEFAULT_GREETING = "Hi";
public void test(Greet greet) {
greet.setInitial(DEFAULT_GREETING);
}
}
然后你可以在类的顶部组织值,尽管它在类中使用它,并且无论它是使用过一次还是多次,并且你可以根据需要提供对外部类的常量的访问。
这实际上归结为传达价值的含义/用途/范围