我正在一个项目中工作,如下所示
if(null == object)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)
是这样的
if(object == null){
// do something
}
Run Code Online (Sandbox Code Playgroud)
举一些例子,以便两者相同或不同.
Sur*_*tta 10
这种具体情况没有区别.风格很重要.第一种风格是 Yoda风格的编码,通常写入以避免空指针.但是这种情况,它是一样的.
维基的例子
String myString = null;
if (myString.equals("foobar")) { /* ... */ }
// This causes a NullPointerException in Java
Run Code Online (Sandbox Code Playgroud)
有了尤达的条件:
String myString = null;
if ("foobar".equals(myString)) { /* ... */ }
// This is false, as expected
Run Code Online (Sandbox Code Playgroud)
请注意,避免NullPointerException并不总是有利的.覆盖它们可能会导致其他错误或花费更多时间来调试代码.
运算符==是对称的.
x == null是平等的null == x.但是使用第一种方式更具可读性和习惯性.
还有其他方法可以检查对象中的空值:
1. boolean Objects.nonNull(Object obj) // obj != null
2. T Objects.requireNonNull(T obj) // checks out obj and returns it if it isn't null
Run Code Online (Sandbox Code Playgroud)
例:
String v = "value";
System.out.println(v == null ? null : v);
System.out.println(null == v ? null : v);
Run Code Online (Sandbox Code Playgroud)
输出:
value
value
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |