lang 패키지의 Boolean 클래스는 parseBoolean() 및 valueOf()라는 두 가지 메서드를 제공합니다.
-
parseBoolean(문자열) - 이 메소드는 String 변수를 받아들이고 boolean을 반환합니다. 주어진 문자열 값이 "true"이면(대소문자에 관계없이) 이 메서드는 true를 반환하고 그렇지 않으면 null이거나 false이거나 다른 값이면 false를 반환합니다.
-
valueOf(문자열 s) − 이 메소드는 String 값을 받아 파싱하고 주어진 값을 기반으로 Boolean 클래스의 객체를 반환합니다. 생성자 대신 이 메서드를 사용할 수 있습니다. 주어진 String 값이 "true"이면 이 메서드는 true를 반환하거나 false를 반환합니다.
예
import java.util.Scanner; public class VerifyBoolean { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter a string value: "); String str = sc.next(); boolean result = Boolean.parseBoolean(str); System.out.println(result); boolean result2 = Boolean.valueOf(str); System.out.println(result2); } }
출력1
Enter a string value: true true true
출력2
Enter a string value: false false false
그러나 이러한 방법 중 어느 것도 주어진 문자열의 값이 "true"인지 여부를 확인하지 않습니다. 문자열 값이 부울 유형인지 여부를 확인할 수 있는 방법이 없습니다. if 루프 또는 정규식을 사용하여 직접 확인해야 합니다.
예시 :if 루프 사용
import java.util.Scanner; public class VerifyBoolean { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter a string value: "); String str = sc.next(); if(str.equalsIgnoreCase("true")||str.equalsIgnoreCase("false")){ System.out.println("Given string is a boolean type"); }else { System.out.println("Given string is not a boolean type"); } } }
출력1
Enter a string value: true Given string is a boolean type
출력2
Enter a string value: false Given string is a boolean type
출력3
Enter a string value: hello Given string is not a boolean type
예:정규식 사용
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class VerifyBoolean { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter a string value: "); String str = sc.next(); Pattern pattern = Pattern.compile("true|false", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher(str); if(matcher.matches()) { System.out.println("Given string is a boolean type"); } else { System.out.println("Given string is not a boolean type"); } } }
출력1
Enter a string value: true Given string is a boolean type
출력2
Enter a string value: false Given string is a boolean type
출력3
Enter a string value: hello Given string is not a boolean type