gpt4 book ai didi

java - if(String != null) 仍然通过?

转载 作者:行者123 更新时间:2023-12-02 05:52:41 25 4
gpt4 key购买 nike

有时,或者说,我经常需要查看一个字符串是否为 null,所以我使用这样的条件:

if(str != null) {
}

直到今天它都运行良好,现在即使是 null 的字符串也会因为某种我不明白的原因而通过。有知道解释的人吗?或者解决方案?

编辑:好的,所以由于某种原因,字符串似乎不是空的,这很奇怪,因为我从未定义它是什么,只是定义它存在。因此,该字符串是单词“null”的字符串。我完全不知道为什么会这样?当我执行以下操作时:

String str;

然后它自动为空,对吧?无论哪种方式,如果不是,为什么它会变成字符串“null”?

最佳答案

解释是你的诊断不正确。如果 str 为 null,则该 if 语句的主体将不会 被执行 - 就这么简单。您还没有说明您是如何诊断出 str 为空的,但该代码仍在执行 - 如果是因为您看到了 NullPointerException ,出于各种原因您可能仍然会收到它。特别是,这很可能是由于 不同的 表达式在 if block 中的 null 时被取消引用。

或者,str 是一个被其他线程修改的非局部变量吗?

编辑:请注意,我一直假设您知道 null 和对空字符串的引用之间的区别 - 您实际上是在谈论 str 的值为 null,对吧?如果您谈论的是空字符串,那就是另一回事了。

关于java - if(String != null) 仍然通过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8876980/

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