KLE*_*KLE 503
尝试(取决于您想要的结果类型):
Boolean boolean1 = Boolean.valueOf("true");
boolean boolean2 = Boolean.parseBoolean("true");
Run Code Online (Sandbox Code Playgroud)
优点:
Boolean.TRUE
或两个实例Boolean.FALSE
.官方文档在Javadoc中.
更新:
也可以使用自动装箱,但它具有性能成本.
我建议只在你必须施展自己时才使用它,而不是在施法是可以避免的时候使用它.
zla*_*ajo 87
使用Boolean.valueOf(string)或Boolean.parseBoolean(string)时必须小心.原因是如果String不等于"true",则方法将始终返回false(忽略大小写).
例如:
Boolean.valueOf("YES") -> false
Run Code Online (Sandbox Code Playgroud)
由于这种行为,我建议添加一些机制,以确保应转换为布尔值的字符串遵循指定的格式.
例如:
if (string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
Boolean.valueOf(string)
// do something
} else {
// throw some exception
}
Run Code Online (Sandbox Code Playgroud)
CJS*_*CJS 21
Boolean b = Boolean.valueOf(string);
Run Code Online (Sandbox Code Playgroud)
b
如果字符串不是null并且等于true
(忽略大小写),则值为true .
Phi*_*Lho 17
除了KLE的优秀答案之外,我们还可以提供更灵活的内容:
boolean b = string.equalsIgnoreCase("true") || string.equalsIgnoreCase("t") ||
string.equalsIgnoreCase("yes") || string.equalsIgnoreCase("y") ||
string.equalsIgnoreCase("sure") || string.equalsIgnoreCase("aye") ||
string.equalsIgnoreCase("oui") || string.equalsIgnoreCase("vrai");
Run Code Online (Sandbox Code Playgroud)
(灵感来自zlajo的回答...... :-))
好吧,就像现在在2018年1月,最好的方法是使用apache BooleanUtils.toBoolean
.
这会将任何类似boolean的字符串转换为boolean,例如Y,yes,true,N,no,false等.
真的很方便!
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.");
}
Run Code Online (Sandbox Code Playgroud)
我将字符串转换为布尔值的方法。
使用Apache Commons 库BooleanUtils
类:
String[] values= new String[]{"y","Y","n","N","Yes","YES","yes","no","No","NO","true","false","True","False","TRUE","FALSE",null};
for(String booleanStr : values){
System.out.println("Str ="+ booleanStr +": boolean =" +BooleanUtils.toBoolean(booleanStr));
}
Run Code Online (Sandbox Code Playgroud)
结果:
Str =N: boolean =false
Str =Yes: boolean =true
Str =YES: boolean =true
Str =yes: boolean =true
Str =no: boolean =false
Str =No: boolean =false
Str =NO: boolean =false
Str =true: boolean =true
Str =false: boolean =false
Str =True: boolean =true
Str =False: boolean =false
Str =TRUE: boolean =true
Str =FALSE: boolean =false
Str =null: boolean =false
Run Code Online (Sandbox Code Playgroud)