不可改变的,常量值应该是stored in constants rather than variables为了更安全和更清洁的代码。
但后者并不适用于所有不可更改值的情况:以下方法只调用一次,在初始化应用程序时两次使用相同的字符串值。 String 仅在方法内部被引用和使用。
我的问题是:变量/常量定义的最佳方式是什么?作为大型应用程序中的简单字符串,性能和内存可以忽略不计,更多的是可读性和维护性。
是否作为方法内部的变量:
protected void init() {
final String thestring = "thevalue";
methodA(thestring);
methodB(thestring);
}
或者它是类级别的常量(尽管仅在方法中使用):
private static final String THESTRING = "thevalue";
protected void init() {
methodA(THESTRING);
methodB(THESTRING);
}
或者第三种更好的解决方案?还请考虑到同一类中可以有更多类似的方法。
最佳答案
对我来说,最好的解决方案是在方法内部使用变量——因为它是内部变量。所以其他方法不应该看到它。考虑封装和干净的代码,当您尝试在类级别移动此变量时,您将获得一长串类变量。
另一件事是内存。方法执行后,变量被销毁。当您将其定义为静态时,它将一直存在于您的内存中。
关于java - Java方法中的字符串常量与变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24551989/