如何将字符串对象转换为布尔对象?
当前回答
如果你的目标只是将这个字符串变量与“false”或“true”字符串进行比较,而不硬编码这两个值,就像我的情况一样,并且你不想使用Boolean.valueOf(),因为它将对它认为是“true”的任何东西返回true,并将对其他所有东西返回false,就像Brandon指出的那样,你可以执行以下操作。
if (someStringVariable.equals(Boolean.TRUE.toString())) {
...
}
或类似的,
if (someStringVariable.equals(Boolean.FALSE.toString())) {
...
}
其他回答
如果你的目标只是将这个字符串变量与“false”或“true”字符串进行比较,而不硬编码这两个值,就像我的情况一样,并且你不想使用Boolean.valueOf(),因为它将对它认为是“true”的任何东西返回true,并将对其他所有东西返回false,就像Brandon指出的那样,你可以执行以下操作。
if (someStringVariable.equals(Boolean.TRUE.toString())) {
...
}
或类似的,
if (someStringVariable.equals(Boolean.FALSE.toString())) {
...
}
boolean status=false;
if (variable.equalsIgnoreCase("true")) {
status=true;
}
仅当字符串为'true'(不区分大小写)时才支持。稍后您可以使用状态变量。
public static boolean stringToBool(String s) {
s = s.toLowerCase();
Set<String> trueSet = new HashSet<String>(Arrays.asList("1", "true", "yes"));
Set<String> falseSet = new HashSet<String>(Arrays.asList("0", "false", "no"));
if (trueSet.contains(s))
return true;
if (falseSet.contains(s))
return false;
throw new IllegalArgumentException(s + " is not a boolean.");
}
我把字符串转换成布尔值的方法。
boolean b = string.equalsIgnoreCase("true");
在2018年1月,最好的方法是使用apache的BooleanUtils.toBoolean。
这将把任何布尔值如字符串转换为布尔值,例如Y, yes, true, N, no, false等。
非常方便!
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- Printf与std::字符串?
- 在Jar文件中运行类
- 带参数的可运行?
- 不区分大小写的“in”
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- 如何在PHP中截断字符串最接近于一定数量的字符?
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作