java - Java方法中的字符串常量与变量

标签 java variables constants code-readability

不可改变的,常量值应该是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/

相关文章:

c++ - 在函数内声明 const 而不是变量有什么好处吗?

java - 次要垃圾回收后 JVM 元空间被填满

java - 是否有一种技巧/算法可以让我们在 O(n) 时间内找到所有可能的子串

java - 单击时如何更改变量并将其传递给android中的另一个 Activity (有代码)?

c++ - 在类范围内声明一个与类属性同名的局部变量

c++ - C++ 中成员变量的关键字 mutable 的替代方法

java - Java类中常量的使用

java - 将字符串(使用正则表达式)转换为可用对象

java - Servlet 在应该重定向时给出了空白页面

c - 将变量的值传递给C中的文件名