Wig*_*boy 2 java string null if-statement
有时,或者好吧,我经常需要查看String是否为null,所以我使用这样的条件:
if(str != null) {
}
Run Code Online (Sandbox Code Playgroud)
它工作正常,直到今天,现在甚至是因为某种原因而无法通过的字符串.有谁知道解释?还是解决方案?
编辑:好的,所以由于某种原因,字符串似乎不是null,这是非常奇怪的,因为我从未定义它是什么,只是明确它存在.所以相反,字符串是单词"null"的字符串.我完全不知道它为什么会这样?当我做以下时:
String str;
Run Code Online (Sandbox Code Playgroud)
然后它会自动为空,对吗?无论哪种方式,如果不是为什么它会变成字符串"null"?
解释是您的诊断不正确.如果str为null,则不会执行该if语句的主体- 就像那样简单.你还没有说过你的诊断方法是 null,但是代码仍在执行 - 如果是因为你看到了,那么你可能还有各种各样的原因.特别是,它很可能是由于在块内时不同的表达被解除引用.str NullPointerExceptionnullif
或者,是否str有其他线程修改的非局部变量,任何机会?
编辑:请注意,我一直在假设您知道null和对空字符串的引用之间的区别 - 您真的在谈论str为null的值,对吧?如果你在谈论空字符串,这是一个非常不同的问题.
| 归档时间: |
|
| 查看次数: |
4895 次 |
| 最近记录: |