new Boolean

本文解析了newBoolean函数的行为:当输入为0、空字符串、null、undefined、NaN或false时,生成的布尔值为false;其他情况下一律视为true,即便是newBoolean('false')也返回true。

new Boolean 时 如果是

 

 

0 "" null undefined NaN false 生成的boolean 为 false

 

 

否则为 true

 

 

即使new Boolean('false') 返回的结果仍然是true

在 Java 中,`new Boolean()` 是用于创建 `Boolean` 类的包装对象的方法之一。需要注意的是,Java 提供了基本数据类型 `boolean` 和对应的包装类 `Boolean`。以下是关于 `new Boolean()` 的具体说明: ### 创建 `Boolean` 对象的方式 可以通过两种方式来初始化 `Boolean` 对象:通过构造方法传递字符串或布尔值。 #### 1. 使用布尔值作为参数 当使用布尔值(`true` 或 `false`)作为参数时,可以直接指定其初始状态。 ```java Boolean objTrue = new Boolean(true); // 初始化为 true Boolean objFalse = new Boolean(false); // 初始化为 false ``` 这种方式会显式地创建一个新的 `Boolean` 对象,并将其内部的状态设置为给定的布尔值[^4]。 #### 2. 使用字符串作为参数 如果传入一个字符串,则会根据字符串的内容决定返回的布尔值。只有当字符串严格等于 `"true"`(忽略大小写)时才会被解释为 `true`;其他情况下均为 `false`。 ```java Boolean objFromStringTrue = new Boolean("TrUe"); // 转换为 true Boolean objFromStringFalse = new Boolean("FALSE"); // 转换为 false ``` 注意:这种行为是由 `Boolean(String s)` 构造器定义的逻辑所决定的[^3]。 --- ### 将 `Boolean` 对象转回原始 `boolean` 值 一旦有了 `Boolean` 对象,就可以调用它的成员方法 `booleanValue()` 来获取底层的实际 `boolean` 值。 ```java Boolean wrappedBool = new Boolean(true); boolean primitiveBool = wrappedBool.booleanValue(); // 返回 true System.out.println(primitiveBool); // 输出 true ``` 此操作非常有用,尤其是在需要将封装的对象解包成基础类型的场景下。 --- ### 注意事项 尽管可以使用 `new Boolean(...)` 显式创建对象,但在现代 Java 编程实践中更推荐直接利用自动装箱机制完成这一过程。例如: ```java Boolean autoBoxedTrue = Boolean.TRUE; // 预先存在的常量 Boolean autoBoxedFromPrimitive = true; // 自动装箱 ``` 上述代码片段展示了如何避免手动实例化对象的同时还能获得相同的语义效果[^1]。 另外值得注意的一点是,自 JDK 9 开始官方建议减少甚至完全停止对显式的 `new Boolean()` 形式的依赖,因为这可能导致不必要的内存分配以及性能开销。 --- ### 总结 虽然技术上允许通过 `new Boolean(boolean b)` 或者 `new Boolean(String s)` 方法构建新的 `Boolean` 实例,但从效率和可读性的角度来看,应当优先考虑采用自动装箱特性或者其他更为简洁的方式来处理此类需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值