Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để kiểm tra xem giá trị String có phải là kiểu Boolean trong java hay không?

Lớp Boolean của gói lang cung cấp hai phương thức là parseBoolean () và valueOf ().

  • parseBoolean (Chuỗi) - Phương thức này chấp nhận một biến String và trả về boolean. Nếu giá trị chuỗi đã cho là "true" (bất kể trường hợp của nó) thì phương thức này trả về true khác, nếu nó là null hoặc, false hoặc, bất kỳ giá trị nào khác, nó trả về false.

  • valueOf (Chuỗi s) - Phương thức này chấp nhận một giá trị String, phân tích cú pháp nó và trả về một đối tượng của lớp Boolean dựa trên giá trị đã cho. Bạn có thể sử dụng phương thức này thay vì hàm tạo. Nếu giá trị Chuỗi đã cho là "true" thì phương thức này trả về true hoặc trả về false.

Ví dụ

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);
   }
}

Đầu ra1

Enter a string value:
true
true
true

Đầu ra2

Enter a string value:
false
false
false

Tuy nhiên, cả hai phương pháp này đều không xác minh xem giá trị của chuỗi đã cho có phải là “true” hay không. Không có phương pháp nào có sẵn để xác minh xem giá trị của một chuỗi có phải là kiểu boolean hay không. Bạn cần xác minh trực tiếp bằng vòng lặp if hoặc, biểu thức chính quy.

Ví dụ:Sử dụng vòng lặp 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");
      }
   }
}

Đầu ra1

Enter a string value:
true
Given string is a boolean type

Đầu ra2

Enter a string value:
false
Given string is a boolean type

Đầu ra 3

Enter a string value:
hello
Given string is not a boolean type

Ví dụ:Sử dụng biểu thức chính quy

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");
      }
   }
}

Đầu ra1

Enter a string value:
true
Given string is a boolean type

Đầu ra2

Enter a string value:
false
Given string is a boolean type

Đầu ra 3

Enter a string value:
hello
Given string is not a boolean type