如何在Java中檢查字串值是否為布林型別?


lang 包的 Boolean 類提供兩種方法,即 parseBoolean() 和 valueOf()。

  • parseBoolean(String s) − 此方法接受一個字串變數並返回布林值。如果給定的字串值為 "true"(不區分大小寫),則此方法返回 true;否則,如果它為 null、false 或任何其他值,則返回 false。

  • valueOf(String s) − 此方法接受一個字串值,對其進行解析,並根據給定的值返回 Boolean 類的物件。您可以使用此方法代替建構函式。如果給定的字串值為 "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

更新於:2019年10月11日

11K+ 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.