yon*_*awa 4 java string null null-check
在java中检查非空值的最佳方法是什么.
String query ="abcd";
Run Code Online (Sandbox Code Playgroud)
query != null
VS !query.equals(null).
哪个更好?为什么?
Roh*_*ain 26
第一个是更好的(也是唯一的选择),因为当你的价值实际上是第二个时会抛出.就如此容易.NPE
null
试试这个:
String str = null;
str.equals(null); // will throw `NPE`.
Run Code Online (Sandbox Code Playgroud)
所以基本上,你想要执行的测试本身会触发NullPointerException
第二种情况.所以,别无选择.
dje*_*lin 11
!str.equals(null)
将
空检查的要点是确保此代码中的引用str
实际引用了一个对象.如果它为null,则不能在其上调用任何方法,包括equals
,不抛出NullPointerException
...,以确保空值检查是为了避免发生.
因此,!str.equals(null)
导致非常问题的空检查旨在防止并且根本不执行您的想法.永远不要这样做.