相关疑难解决方法(0)

如何将枚举值转换为int?

我有一个返回int类型的函数.但是,我只有TAX枚举的值.

如何将TAX枚举值转换为int?

public enum TAX {
    NOTAX(0),SALESTAX(10),IMPORTEDTAX(5);

    private int value;
    private TAX(int value){
        this.value = value;
    }
}

TAX var = TAX.NOTAX; // This value will differ

public int getTaxValue()
{
  // what do do here?
  // return (int)var;
}
Run Code Online (Sandbox Code Playgroud)

java enums

223
推荐指数
4
解决办法
24万
查看次数

如何制作无网段代码?

与此答案相关:https://stackoverflow.com/a/11227902/4714970

在上面的答案中,提到了如何通过避免分支来避免分支预测失败.

用户通过替换以下内容来演示:

if (data[c] >= 128)
{
    sum += data[c];
}
Run Code Online (Sandbox Code Playgroud)

附:

int t = (data[c] - 128) >> 31;
sum += ~t & data[c];
Run Code Online (Sandbox Code Playgroud)

这两个是如何等效的(对于特定的数据集,不是严格等同的)?

在类似的情况下,我可以采取哪些一般方法来做类似的事情?它总是通过使用>>~

java performance branch-prediction

22
推荐指数
3
解决办法
4552
查看次数

标签 统计

java ×2

branch-prediction ×1

enums ×1

performance ×1