【问题标题】:When to convert a variable to a constant in Java?什么时候在Java中将变量转换为常量?
【发布时间】:2012-07-03 01:29:23
【问题描述】:
public String getPreviewMessageForWebdavResponse(){ 

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

有时,我会遇到一个字符串。我无法判断它是否需要是常量或本地变量。 String 在方法中只使用一次,不需要暴露在方法之外。

如何选择?

【问题讨论】:

  • 你是在问是否应该使用final
  • 我不明白你的问题。字符串格式与变量的来源无关。
  • @OliCharlesworth:我想他是在问是否应该是 static final 字符串。
  • 或者如果您应该使用变量/常量,而不是将字符串文字内联到使用它的地方?
  • 查看接受的答案。谢谢大家一些

标签: java variables constants


【解决方案1】:

你的问题有点不清楚。我将回答我想到的三个可能的问题:

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

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

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

变量应该是局部的和最终的吗?

Probably.

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

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

如果只在一种方法中使用,则保留在方法中。

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

如果在同一个包中多处使用,则设为static final

如果在整个项目中都使用它,则仅将其设为public

【讨论】:

    猜你喜欢
    • 2021-04-15
    • 2014-11-14
    • 2018-10-23
    • 2016-10-08
    • 2010-11-03
    • 2018-09-14
    • 2012-07-23
    • 2020-04-12
    相关资源
    最近更新 更多