何时在Java中将变量转换为常量?

时间:2012-07-03 01:29:23

标签: java variables constants

public String getPreviewMessageForWebdavResponse(){ 

    String format="<preview><currentNumber>%d</currentNumber><totalNumber>%d</totalNumber></preview>";
    return String.format(format, currentNumber,totalNumber);
}

有时,我会遇到一个字符串。我无法判断它是否需要是常数或局部变量。 String仅在方法中使用一次,不需要在方法之外公开。

如何选择?

1 个答案:

答案 0 :(得分:3)

你的问题有点不清楚。我将回答一下可能出现的三个问题:

(所有这些都只是风格问题。)

  

我应该使用一个变量,还是只将字符串文字内联到它所使用的一个位置?

我会说,至少在你的情况下,字符串的绝对长度表明这一点,将它保存为具有描述性名称的变量,并将其保持在方法的顶部。如果有必要,可以更容易地在以后查找和更新,如果您以后需要多次重构,则更容易重构,使其更易于阅读。

  

变量应该是本地的还是最终的?

Probably

  

它应该是类级常量(static final)吗?

始终尽可能限制范围和可见性。

如果仅在一种方法中使用,请将其保留在方法中。

如果它在同一个类中的多个方法中使用,请将其设为private static final

如果它在同一个包中的多个位置使用,请将其设为static final

如果在整个项目中使用它,则只能将其public