将布尔值转换为双精度值的快速方法

Ján*_*čan -1 java double casting boolean

我需要在java中将double转换为boolean。它在我的应用程序中经常发生,它对应用程序的性能具有至关重要的影响。有什么方法可以重写此方法以使其更快?我需要使用双精度数进行操作,因为精度是必要的,但我不保存双精度数,而是只保存布尔值(当数据只能为 0 或 1 时)。代码在这里:

    public static double booleanToDouble(boolean b) {
        if (b) {
            return 1;
        }
        return 0;
    }
Run Code Online (Sandbox Code Playgroud)

在我看来,这不是 XY 问题。50 000 000 行数据的整个应用程序运行需要 3 秒。通过这种转换,时间大约会增加到 5 秒。所以这个转换需要两秒钟,几乎是整个应用程序运行的一半。

M. *_*tte 6

虽然我无法想象用例,但您可以在任何地方使用三元运算符,而不是调用函数:

b ? 1d : 0d;