我在我的java代码中的许多地方使用blank value("")
。
我想知道定义blank("") in constant
和使用该常量和directly using blank("")
是一回事还是有所不同?
感谢。
答案 0 :(得分:4)
String literal ""
将添加到String常量池中。所以直接使用它 就像这样 - > ""
因为它更具可读性。不要定义名为BLANK_VALUE = ""
的静态常量,然后使用它。就性能而言,将重复使用字符串文字的相同实例,因此无关紧要(声明静态字段的开销非常小*但是没关系)< / p>
查看哪些代码更有意义:
if("".equals(myString)){ // clear and easy to understand.
//do something
}
OR
if(MyClass.BLANK_VALUE.equals(myString)){ // you will have to go back to BLANK_VALUE to check it's actual value.
//do something
}
PS:在LHS上使用常量将阻止NPE
答案 1 :(得分:1)
为什么不尝试使用isEmpty()
方法
if(myString !=null && myString.isEmpty() ){}