如何在Java中检查String值是否为布尔型?
lang包的Boolean类提供了两种方法,即parseBoolean()和valueOf()。
parseBoolean(Strings)-此方法接受一个String变量并返回布尔值。如果给定的字符串值为“true”(无论大小写),则此方法返回true;否则为null;如果为null,则返回false;否则,该方法返回false。
valueOf(Strings)-此方法接受一个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