当前位置: 首页 > 面试题库 >

使一个空字符串常量值得吗?

纪勇军
2023-03-14
问题内容

我有一个发誓的同事

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

在整个项目中可用的常量类中。这样,我们可以写类似

if (Constants.EMPTY_STRING.equals(otherString)) {
    ...
}

代替

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

我说是

  1. 不值得-它不会在堆/堆栈/字符串池中节省任何空间,
  2. 丑陋
  3. 滥用常量类。

谁是白痴?


问题答案:

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

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



 类似资料:
  • 本文向大家介绍VBA 声明一个字符串常量,包括了VBA 声明一个字符串常量的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我正在使用一个jQuery AJAX请求到一个名为的页面,该页面连接到我的数据库并插入一行。这是代码: 有问题的线是。它似乎只是返回一个空字符串,并且在我的数据库中,我看到的所有列都是空白条目。如果我删除,它会很好。 如果有帮助,这是我的jQuery代码。 所有这些jQuery代码都可以正常工作,我已经自己独立测试过。 非常感谢任何帮助,谢谢。 问题答案: 您是否确定1000%确实包含

  • 本文向大家介绍使用VBA字符串常量,包括了使用VBA字符串常量的使用技巧和注意事项,需要的朋友参考一下 示例 VBA为特殊字符定义了许多字符串常量,例如: vbCr:回车符,与C样式语言中的“ \ r”相同。 vbLf:换行符'与C样式语言中的“ \ n”相同。 vbCrLf:回车和换行(Windows中的换行符) vbTab:制表符 vbNullString:空字符串,例如“” 您可以将这些常量

  • rank ▲ ✰ vote url 43 465 86 790 url 获得一个字符串的子串 有什么方法获得一个字符串的字串,比如从一个字符串的第三个字符到最后. 可能是myString[2:end]? >>> x = "Hello World!" >>> x[2:] 'llo World!' >>> x[:2] 'He' >>> x[:-2] 'Hello Worl' >>> x[-2:] 'd

  • 如这些问题中所述:问题1 在以下情况下,JVM将创建一个新的字符串对象,而不是使用字符串池中的现有对象: 然而,在阅读了下面两个类似的陈述之后,我有一个疑问。 从SCJP准备书: 当编译器遇到字符串文字时,它会检查池中是否已经存在相同的字符串。如果找到匹配项,对新文本的引用将指向现有的String,并且不会创建新的String文本对象。 来自JavaRanch: 在本例中,由于关键字“new”,我

  • 问题解决 将XmlElementRef注释更改为@XmlElementRef(name=“Option”,type=Option.class,required=false)后,将@XmlRootElement(name=“Option”)添加到选项中。班 更新: 根据laune的建议,我添加了两个类(Options和Option),并修改了GuimopProperties类,如下所示 但当我必须新