如何在Java中检查String值是否为布尔型?

lang包的Boolean类提供了两种方法,即parseBoolean()和valueOf()。

  • parseBoolean(String s) -此方法接受一个String变量并返回布尔值。如果给定的字符串值为“ true”(无论大小写),则此方法返回true;否则为null;如果为null,则返回false;否则,该方法返回false。

  • valueOf(String 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
猜你喜欢