什么是正确解析布尔字符串的实用方法?我的意思是
"true" => true
"false" => false
"foo" => error
java.lang.Boolean中的解析方法很狡猾 - 它们不区分“false”和“foo”。 Java库(或Guava,或Commons Lang)中的其他任何东西都能正确地完成它吗?
是的,它只是几行,我只是不写任何行,我不应该这样做。 : - )
答案 0 :(得分:6)
if( "true".equals(myString) )
或
if( BooleanUtils.toBoolean(myString, "true", "false") )
我每次都去第一个。更好的是,使用IgnoreCase选项进行字符串比较。 toBoolean区分大小写,因此“True”实际上会引发异常。真棒!这真的很有用!
答案 1 :(得分:5)
if ( "true".equalsIgnoreCase(yourString) )
return true;
else if ( "false".equalsIgnoreCase(yourString) )
return false;
else
throw new Exception();
没有一个。
答案 2 :(得分:3)
查看布尔实用工具表格apache commons:
将String转换为Boolean 如果不匹配则抛出异常 找到。
如果没有匹配,则返回。
BooleanUtils.toBoolean( “真”, “true”,“false”)= true
BooleanUtils.toBoolean( “假”, “true”,“false”)= false
答案 3 :(得分:0)
这很简单:
编辑:或者我错过了这一点......
boolean isTrue (String s) {
return theString.toLowerCase().equals("true");
}