Java 将对象强制转换为布尔抛出异常
我从hibernate本机查询中获取数据,该查询的对象类型为to 我需要把它转换成布尔值,我是这样做的Java 将对象强制转换为布尔抛出异常,java,boolean,Java,Boolean,我从hibernate本机查询中获取数据,该查询的对象类型为to 我需要把它转换成布尔值,我是这样做的 Boolean b = ((java.lang.Boolean) ((Object[]) object)[++i]); 现在我需要将它设置为pojo,有一个方法是 public void setActive(boolean active) { this.active = active; } 当我试图进入pojo时,它抛出了一个例外 b1.setActive(b); 请告诉我,我认为你
Boolean b = ((java.lang.Boolean) ((Object[]) object)[++i]);
现在我需要将它设置为pojo,有一个方法是
public void setActive(boolean active)
{ this.active = active; }
当我试图进入pojo时,它抛出了一个例外
b1.setActive(b);
请告诉我,我认为你只是把变量搞错了。您应该调用b.setActiveb1;。布尔对象没有setActive方法,您可能在错误的对象上调用它 如果存在强制转换问题,则在调用任何方法之前将对象强制转换为布尔类型时,将引发异常。使用b1.setActiveb=null?b.布尔值:false 类具有返回布尔值的布尔值方法 确保对象为布尔[] 使用getter b.booleanValue。 自动装箱和取消装箱是空敏感的
例外情况是什么?此外,b1是一个布尔值,没有setActive方法。很抱歉,现在出现了一个输入错误,请查看更新的postWell,在该输入错误修复之后,我认为最好让我们知道您遇到了什么异常:不确定可能出了什么问题。b.booleanValue是否真的需要自动装箱?如果x=y{}else{}所以更可读的方法可能是b1.setActiveb==null?false:b;
Boolean b = null;
boolean p = b; //throws NPE