Java 如何将结果的正确表达式写入布尔值?(无法从布尔值强制转换为布尔值)

Java 如何将结果的正确表达式写入布尔值?(无法从布尔值强制转换为布尔值),java,jasper-reports,ireport,boolean-expression,Java,Jasper Reports,Ireport,Boolean Expression,我在表达时遇到困难,这会导致在iReport中显示或隐藏乐队 这些是我拥有的变量: Integer mainGroupInt = Integer.valueOf(5); Integer subGroupInt = Integer.valueOf(5); Boolean showDetailGroup = Boolean.valueOf(false); 结果必须是布尔值,因此我尝试了以下方法: mainGroupInt.intValue() != 0 && subGroupInt

我在表达时遇到困难,这会导致在iReport中显示或隐藏乐队

这些是我拥有的变量:

Integer mainGroupInt = Integer.valueOf(5);
Integer subGroupInt = Integer.valueOf(5);
Boolean showDetailGroup = Boolean.valueOf(false);
结果必须是布尔值,因此我尝试了以下方法:

mainGroupInt.intValue() != 0 && subGroupInt.intValue() != 0)) || (mainGroupInt.intValue() != 0 && showDetailGroup)
因此,这不起作用,我得到以下错误:

boolean类型的表达式被装箱为boolean

这件事我想得太多了,但我解决不了

谢谢你的帮助。

你在找

showDetailGroup = Boolean.valueOf( (mainGroupInt.intValue() != 0 && subGroupInt.intValue() != 0) || 
                                   (mainGroupInt.intValue() != 0 && showDetailGroup.booleanValue()) )
如果不是,我不明白你的问题。上面的代码返回一个表示
Boolean
表达式值的
Boolean
。请参阅Java和文档。

布尔值(大写B)不能在布尔表达式中使用,除非将其取消装箱

如果要使警告静音,请通过调用
booleanValue
函数将布尔值转换为基本类型(这就是解除装箱后发生的情况):


Boolean和Integer是基本体Boolean和int的包装类。如果必须通过引用将变量传递给函数,则应将变量更改为Boolean和int,并在以后进行包装。

。。。这是可行的,但你想让它更优雅吗?不,不幸的是它不起作用,我在我的帖子中更新了错误。这不起作用。如果我尝试此操作,则在showDetailGroup上出现错误。。错误是:Boolean类型的表达式被取消绑定为Boolean。@adis,我编辑了我的答案。您还需要在布尔表达式中(使用.booleanValue()方法)将布尔值转换回布尔值。起初我没有注意到这一点。
mainGroupInt.intValue() != 0 && showDetailGroup.booleanValue( )