Boolean.getBoolean(String name) 和Boolean.parseBoolean(String s)的区别

本文探讨了Java中Boolean.getBoolean与Boolean.parseBoolean两种转换String为boolean的方法。getBoolean主要依据Java系统参数,若不存在则返回false,而parseBoolean直接解析字符串内容。建议避免使用new Boolean构造函数,推荐使用valueOf方法。此外,文章提到了自动装箱autoboxing和拆箱unboxing的使用,简化代码并提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在使用Boolean. 场景是String 的true,或者false转换成boolean 基本类型的布尔型。 随意的选了一个getBoolen 但是在做单元测试的时候验证不通过。

仔细看了下Boolean的源码才发现问题所在

Boolean 返回boolean的公有方法总共有两个,就是标题上所提到的Boolean.getBoolean(String name) 和 Boolean.parseBoolean(String s) 两个方法。

他们会都会调用 toBoolean的私有静态方法,不同点是在于Boolean.getBoolean是根据传参去找Java System的参数变量,如果系统中存在此变量则返回对应的boolean,否则返回false。

贴出部分代码:

Boolean.getBoolean:

public static boolean getBoolean(String name) {
        boolean result = false;
        try {
            result = toBoolean(System.getProperty(name));
        } catch (IllegalArgumentException e) {
        } catch (NullPointerException e) {
        }
        return result;
    }

Boolean.parseBoolean:

public static boolean parseBoolean(String s) {
        return toBoolean(s);
    }

toBoolean:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mingjie1212

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值