描述:Boolean(String s),如果 String 参数不为 null 且在忽略大小写时等于 "true",创建一个表示 true 值的 Boolean 对象,如Boolean b = new Boolean("ok"),为 false。------------------------------在 Boolean b = new Boolean("ok")中,b的值不是 true 吗?上面的描述矛盾吗
2 回答

LEATH
TA贡献1936条经验 获得超6个赞
先说结论:false
public Boolean(String s) {
this(parseBoolean(s));
}
会先去调用parseBoolean
,再调用另一个构造器方法:
public Boolean(boolean value) {
this.value = value;
}
那好,接下看parseBoolean
代码:
public static boolean parseBoolean(String s) {
return ((s != null) && s.equalsIgnoreCase("true"));
}
所以,除非构造器参数为"TRUE"
或者"true"
或者TRue
等,否则结果将都为false
,包括"ok"
这个字符串
添加回答
举报
0/150
提交
取消