문자열객체를
부울` 객체로 변환하는 방법은 무엇인가요?
원하는 결과 유형에 따라 시도합니다:
Boolean boolean1 = Boolean.valueOf("true");
boolean boolean2 = Boolean.parseBoolean("true");
장점:
부울.TRUE
또는 부울.FALSE
를 재사용합니다.공식 문서는 Javadoc에 있습니다.
업데이트되었습니다:
자동 복싱도 사용할 수 있지만 성능 비용이 발생합니다.
캐스팅을 피할 수 있는 경우가 아니라 직접 캐스팅해야 하는 경우에만 사용하는 것이 좋습니다.
Boolean.valueOf(string) 또는 Boolean.parseBoolean(string)*을 사용할 때는 주의해야 합니다. 그 이유는 문자열이 <참>과 같지 않으면 메서드가 항상 거짓을 반환하기 때문입니다(대소문자는 무시됨).
예를 들어
Boolean.valueOf("YES") -> false
이러한 동작 때문에 부울로 변환해야 하는 문자열이 지정된 형식을 따르도록 하는 메커니즘을 추가하는 것이 좋습니다.
예를 들어
if (string.equalsIgnoreCase("true") || string.equalsIgnoreCase("false")) {
Boolean.valueOf(string)
// do something
} else {
// throw some exception
}
또한, 좀 더 유연한 클레 선택취소합니다 뛰어난 답을 합니다.
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");
(# 39 의 zlajo& 영감을 얻은 답이다. -)
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.");
}
My way 변환할지 문자열을 부울입니다.
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));
}
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
[소유스 수] (https://github.com/thedocs-io/soyuz-to) 라이브러리 단순화하려면 하나님이 창조한 이 문제 (변환하시겠습니까 x 를 y). # 39 에 대한 일련의 그래서 그냥 it& 비슷한 질문이 쏟아졌다. 이 싸움은 정말 이상한 대한 라이브러리를 사용할 수 있지만, 간단한 문제 등 비슷한 사건이 많이 도움이 됩니다.
"' 가져오기의 io.thedocs.soyuz.to.
부울입니다 아부린 = 합니다. 부울입니다 (true" ";). "'
이 값을 얻기 위해 부울을 문자열으로 보십시오.
public boolean toBoolean(String s) {
try {
return Boolean.parseBoolean(s); // Successfully converted String to boolean
} catch(Exception e) {
return null; // There was some error, so return null.
}
}
오류가 있는 경우, it 반환되므로 nulll. 예:
toBoolean("true"); // Returns true
toBoolean("tr.u;e"); // Returns null
부울 값을 직접 설정할 수 있습니다) 와 시스템 클래스를 통해 임의의 문자열. it 및 액세스 어디든요.
System.setProperty("n","false");
System.setProperty("y","true");
System.setProperty("yes","true");
System.setProperty("no","false");
System.out.println(Boolean.getBoolean("n")); //false
System.out.println(Boolean.getBoolean("y")); //true
System.out.println(Boolean.getBoolean("no")); //false
System.out.println(Boolean.getBoolean("yes")); //true
Dell. < http://msdn.microsoft.com/en-us/library/system.boolean.parse.aspx>;
이 중 부여하느뇨 어떻게 해야 할지 알 수 있습니다.
이것이 내가 얻을 [jave 문서용으로] (https://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html # parseBoolean-java.lang.String-):
>. 메서드입니다 상세함을
>. '페르세부린' >. >. '공용 정적 부울입니다 페르세부린 (문자열 s)' >. >. 문자열 인수를 부울입니다 받아 분석하고 있다. 이 경우 'null' true 값을 나타내는 문자열 인수를 부울입니다 반환되었습니다 있지 않고 있으며 이 같은 경우, '진정한' 구체화하십시오 " ". >. >. Parameters: >. >. 문자열 구문 분석할 수 있는 표현을 부울을 's' -
>. Returns: boolean 나타내는 문자열 인수를
>. Since: >. 1.5