gpt4 book ai didi

java - 运算符 "&"不能应用于 byte、int、boolean

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:52:26 24 4
gpt4 key购买 nike

关于我之前关于如何比较组合位是否包含特定位的问题,我遇到了这个错误。

    int flag1 = 1 << 0;
int flag4 = 1 << 5;

int combined = flag1 | flag4;

if (combined & flag1 == flag1) // <-- Operator & cannot be applied to int, boolean

如果我将标志转换为 byte,错误会将 int 替换为 byte

最佳答案

编译器在您的 if 语句中看到二元运算符 &,将其视为逻辑 AND(因为它需要一个返回 boolean),并检查参数的类型。

它遇到一个 int 参数 - combined - 和一个 boolean 参数 - flag1 == flag1。由于它需要两个 boolean 参数(& 运算符不能应用于 intboolean),它给出一个错误。

添加括号以便按所需顺序计算运算符:

if ((combined & flag1 ) == flag1)

关于java - 运算符 "&"不能应用于 byte、int、boolean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36125782/

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