我有一个发誓的同事

//in a singleton "Constants" class
public static final String EMPTY_STRING = "";

在整个项目中可用的常量类中。这样,我们可以写类似
if (Constants.EMPTY_STRING.equals(otherString)) {
    ...
}

代替
if ("".equals(otherString)) {
    ...
}

我说是
  • 不值得-不会在堆/堆栈/字符串池
  • 中节省任何空间
  • 丑陋的
  • 滥用常量类。

  • 谁是白痴?

    最佳答案

    默认情况下,字符串文字是Interned的,因此无论您在代码中多次引用“” ,都将只有一个空的String对象。声明EMPTY_STRING没有任何好处。否则,您最好为整数文字声明一个,两个,三个,四个等。

    当然,如果您想稍后更改EMPTY_STRING的值,将其放在一个位置很方便;)

    07-24 09:48
    查看更多