测试对象是否为null的有效方法

时间:2014-11-22 16:11:40

标签: java performance

有什么方法可以检查对象是否为空。

检查对象是否为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


}
}

2 个答案:

答案 0 :(得分:3)

使用isTestObjectSet只是让事情变得比他们需要的更复杂。只需使用test != null:它会更好地传达您的意图并且不会强迫您保持此isTestObjectSet变量与test是否同步组。这两种变体之间绝对没有性能差异。

答案 1 :(得分:2)

在我看来 - 显式检查(与' null'相比)更快,因为不会使用许多中间布尔变量使代码混乱。 更安全吗?这两项检查都是布尔检查,所以它始终是“真假”&“假”'比较。