我在Adobe CQ中编写了很多组件,因此必须对用户设置属性进行大量处理。在我进行isEmpty检查之前,我对所有的空检查都有点厌倦。
我想做类似的事情。
"".equals(string);
这将更具可读性,但它如何比较性能。是的,如果有多次检查,我希望将“”创建为常量。
由于 d
答案 0 :(得分:1)
使用Objects.equals()
。它完美地解决了你的问题。
答案 1 :(得分:1)
我个人使用Apache's StringUtils,例如:
if (StringUtils.isEmpty(someString)) {
...
或
if (StringUtils.isNotEmpty(someString)) {
...
另外,我真的不会担心这种情况的表现,除非你已经确定它是一个问题
答案 2 :(得分:0)
你不应该关心这里的表现。两个版本都有类似的速度。即使它们的编译方式不同,JITted代码也不会超过几个CPU周期(特别是考虑到require()
是JVM固有的事实)。在使用Java进行编程时,不应该担心这个问题。
答案 3 :(得分:0)
最好使用isEmpty()
方法(更简单,更快速的源代码)。
在java中检查空字符串的另一种有效方法是使用:
string.length() == 0;