在java中从布尔值转换为字节
2022-09-02 03:46:28
我需要将字节值设置为方法参数。我有布尔变量,它决定了要在此方法中执行的逻辑。但是我可以直接将布尔值作为字节参数传递,这是不允许的,也不能在java中强制转换。所以我现在的解决方案看起来像这样:isGenerated
myObj.setIsVisible(isGenerated ? (byte)1 : (byte)0);
但这对我来说似乎很奇怪。也许有更好的解决方案来做到这一点?
我需要将字节值设置为方法参数。我有布尔变量,它决定了要在此方法中执行的逻辑。但是我可以直接将布尔值作为字节参数传递,这是不允许的,也不能在java中强制转换。所以我现在的解决方案看起来像这样:isGenerated
myObj.setIsVisible(isGenerated ? (byte)1 : (byte)0);
但这对我来说似乎很奇怪。也许有更好的解决方案来做到这一点?
您的解决方案是正确的。
如果您愿意,可以通过以下方式避免一个演员:
myObj.setIsVisible((byte) (isGenerated ? 1 : 0 ));
此外,还应考虑对实现进行以下更改之一:
将方法更改为 setVisiblityState(字节状态),如果您需要考虑 2 个以上的可能状态
将方法更改为 setIsVisible(布尔值),前提是您的方法执行其外观