gpt4 book ai didi

java - 需要长原始 NaN 值

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:31:32 25 4
gpt4 key购买 nike

场景:

1) 我有一个很长的状态变量,可以设置也可以不设置。

2) 这个 long 变量的有效值从 Long.MIN_VALUE 到 Long.MAX_VALUE 包括零

3) 这是对性能敏感的代码,所以我不想使用 Long 包装器类型

我如何编写这么长的“已设置”类型的检查?我真的必须添加第二个 boolean 值来测试 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
}
}

}

}

最佳答案

您必须为 NaN 预留一个特殊值。如果您真的使用所有可能的值,则没有。

您确定 Long 对象是一个很大的性能问题吗?

如果是这样,也许有一个额外的 boolean 值来表示是否设置了该值?

关于java - 需要长原始 NaN 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10344438/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com