设想:
1)我有一个可以设置或不设置的长状态变量。
2) 这个长变量具有从 Long.MIN_VALUE 到 Long.MAX_VALUE 的有效值,包括零
3)这是性能敏感代码,所以我不想使用 Long 包装器类型
我该如何写这么长的“已设置”类型的检查?我真的需要添加第二个布尔值来测试 long 是否有效吗?这看起来很草率。我知道我可以在这里使用 Long 包装器,但是创建这么多对象并检查 null 似乎是一种性能浪费。
伪代码(这是我想要的):
class foo {
long someLong = NaN; //NaN = hypothetical not a number like Double
public reset() {
someLong = NaN;
}
public doSomethingElse() {
if(someLong !=NaN) {
//report
reset();
}
}
public doSomeStuff() {
if(someLong == NaN) {
someLong = //something
}
}
}
}