Nam*_*har 0 java parsing exception
考虑
boolean b = Boolean.parseBoolean("100");
Run Code Online (Sandbox Code Playgroud)
我认为它会抛出异常,因为"100"既不是也不"true"是"false"。但它过去了,没有例外。
为什么方法不抛出?
阅读该方法的JavaDoc(重点是我的):
将字符串参数解析为布尔值。
true如果 string 参数不null等于string ,则返回的布尔值表示该值,忽略大小写"true"。 否则,将返回假值,包括空参数。
看实现:
public static boolean parseBoolean(String s) {
return "true".equalsIgnoreCase(s);
}
Run Code Online (Sandbox Code Playgroud)
所以任何不等于字符串的东西"true"——忽略大小写——都被认为是false
| 归档时间: |
|
| 查看次数: |
1042 次 |
| 最近记录: |