如果Java只在一个地方使用,它应该是一个定义为常量的字符串
我有一个方法,它使用一个字符串常量,如下所示,并且该值不再使用如果Java只在一个地方使用,它应该是一个定义为常量的字符串,java,spring-ioc,Java,Spring Ioc,我有一个方法,它使用一个字符串常量,如下所示,并且该值不再使用 @Service public class Sample { public void test(Greet greet) { greet.setInitial("Hi"); } } 初始值永不改变,示例类是一个单例bean 我的问题是,我们是否应该声明一个常数,如下所示: @Service public class Sample { private static final String I
@Service
public class Sample {
public void test(Greet greet) {
greet.setInitial("Hi");
}
}
初始值永不改变,示例类是一个单例bean
我的问题是,我们是否应该声明一个常数,如下所示:
@Service
public class Sample {
private static final String INITIAL="Hi";
public void test(Greet greet) {
greet.setInitial(INITIAL)
}
}
从性能角度看,哪种方法更好取决于具体情况。在本例中,我可能会使用字符串literal
greet.setInitial(“Hi”)代码>而不是常量。但这实际上取决于您希望如何处理或组织此值,例如,如果您将变量视为常量:
@Service
public class Sample {
public final int DEFAULT_GREETING = "Hi";
public void test(Greet greet) {
greet.setInitial(DEFAULT_GREETING);
}
}
然后,您可以将该值组织在类的顶部,不管它在类中的何处使用,也不管它是一次使用还是多次使用,并且如果需要,您可以为外部类提供对常量的访问
这实际上是为了传达您价值的含义/用途/范围没有性能差异。哪种方式能让你的代码更容易被读者理解@AndyTurner更新了代码“从性能角度看哪种方法更好”——性能是JIT的工作。不要试图胜过它。我很有信心,这两种方法的性能非常相似。旁白:这与春季国际奥委会有什么关系?