gpt4 book ai didi

java - test !"".equals(someString) 的值是多少

转载 作者:行者123 更新时间:2023-11-29 08:15:12 26 4
gpt4 key购买 nike

在一个我一直试图熟悉的项目中,我遇到了一个看起来像这样的方法:

public boolean testString(String string){
return string != null && !"".equals(string);
}

用这种方式而不是先用变量来测试字符串是否为空有什么值(value)?我理解为什么我们会在 C 中看到常量优先(Yoda 语法),但是在 Java 中有任何理由对方法调用这样做吗?

注意:我确实了解 NullPointerException,这在这种情况下是不可能的。特别是在这种情况下,我正在寻找这样做的值(value)。

最佳答案

在这种情况下,它没有什么区别,因为它已经测试过是否为 null。通常你这样做是为了确保你不会在空引用上调用成员(导致 NullPointerException),即

"test".equals(myString)

永远不会抛出空指针异常而

myString.equals("test")

如果 myString 为 null,则执行。所以基本上,第一个测试确保它是一个字符串(非空)并且它等于“测试”。

关于java - test !"".equals(someString) 的值是多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5345080/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com