87

如何将 Java 对象转换为布尔原语

我尝试如下,但它不起作用

boolean di = new Boolean(someObject).booleanValue();

构造函数 Boolean(Object) 未定义

请指教。

4

3 回答 3

143

如果对象实际上是一个Boolean实例,那么只需转换它:

boolean di = (Boolean) someObject;

显式转换将转换为Boolean,然后对原始值进行自动拆箱。或者你可以明确地这样做:

boolean di = ((Boolean) someObject).booleanValue();

如果someObject不引用布尔值,您希望代码做什么?

于 2010-02-05T10:48:08.507 回答
37

假设 yourObject.toString() 返回“true”或“false”,您可以尝试

boolean b = Boolean.valueOf(yourObject.toString())
于 2010-02-05T10:54:00.027 回答
0

使用条件运算符“?” 像下面这样:

int a = 1;   //in case you want to type 1 or 0 values in the constructor call 
Boolean b;   //class var.
b=(a>0?true:false);   //set it in the constructor body
于 2021-11-27T03:21:33.707 回答