描述:
Boolean(String s),如果 String 参数不为 null 且在忽略大小写时等于 "true",创建一个表示 true 值的 Boolean 对象,如Boolean b = new Boolean("ok"),为 false。
------------------------------
在 Boolean b = new Boolean("ok")中,b的值不是 true 吗?上面的描述矛盾吗
描述:
Boolean(String s),如果 String 参数不为 null 且在忽略大小写时等于 "true",创建一个表示 true 值的 Boolean 对象,如Boolean b = new Boolean("ok"),为 false。
------------------------------
在 Boolean b = new Boolean("ok")中,b的值不是 true 吗?上面的描述矛盾吗
还是false呀,看下源码就知道了,只有"true"的情况的下才是true,其他都是false:
public static boolean parseBoolean(String s) {
return ((s != null) && s.equalsIgnoreCase("true"));
}
8 回答6.4k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
先说结论:
false
会先去调用
parseBoolean
,再调用另一个构造器方法:那好,接下看
parseBoolean
代码:所以,除非构造器参数为
"TRUE"
或者"true"
或者TRue
等,否则结果将都为false
,包括"ok"
这个字符串