-3

我正在从休眠本机查询中获取数据,这是我需要将其转换为布尔值的对象类型,我正在这样做..

Boolean b = ((java.lang.Boolean) ((Object[]) object)[++i]);

现在我需要将它设置为 pojo 有一个方法为..

public void setActive(boolean active)
 { this.active = active; }

当我尝试进入 pojo 时,它会抛出异常

 b1.setActive(b);

请指教

4

3 回答 3

0

我认为你只是把你的变量弄错了。你应该打电话b.setActive(b1);。Boolean 对象没有 setActive 方法,您可能在错误的对象上调用它。

如果您遇到了强制转换问题,那么在您调用任何方法之前将对象强制转换为布尔类型时会引发异常。

于 2013-08-02T04:37:36.563 回答
0

利用b1.setActive(b!=null?b.booleanValue():false)

Boolean类具有返回布尔值的 booleanValue() 方法。

确保objectboolean[]

于 2013-08-02T04:45:44.597 回答
0
  1. 使用 getter (b.booleanValue())。
  2. 自动装箱和拆箱对空值敏感
Boolean b = null;
boolean p =  b; //throws NPE
于 2013-08-02T04:46:30.303 回答