有什么方法可以检查对象是否为空。
检查对象是否为null或为其设置标志。 通过说更好的我寻找性能(更快,更安全)。
public class A
{
Object test;
boolean isTestObjectSet;
public A(Object test)
{
this.test = test;
isTestObjectSet = true;
}
public A()
{
}
public void doSomething()
{
if(test != null)
//do something
//VS
if(isTestObjectSet)
//do something
}
}
答案 0 :(得分:3)
使用isTestObjectSet
只是让事情变得比他们需要的更复杂。只需使用test != null
:它会更好地传达您的意图并且不会强迫您保持此isTestObjectSet
变量与test
是否同步组。这两种变体之间绝对没有性能差异。
答案 1 :(得分:2)
在我看来 - 显式检查(与' null'相比)更快,因为不会使用许多中间布尔变量使代码混乱。 更安全吗?这两项检查都是布尔检查,所以它始终是“真假”&“假”'比较。