Java
 Computer >> コンピューター >  >> プログラミング >> Java

文字列値がJavaでブール型であるかどうかを確認するにはどうすればよいですか?


langパッケージのブールクラスは、parseBoolean()とvalueOf()の2つのメソッドを提供します。

  • parseBoolean(String s) −このメソッドはString変数を受け入れ、ブール値を返します。指定された文字列値が(大文字と小文字に関係なく)「true」の場合、このメソッドはtrueを返します。それ以外の場合、null、false、またはその他の値の場合はfalseを返します。

  • valueOf(String s) −このメソッドは、文字列値を受け取り、それを解析して、指定された値に基づいてブールクラスのオブジェクトを返します。コンストラクターの代わりにこのメソッドを使用できます。指定された文字列値が「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

  1. Pythonで変数の型が文字列であるかどうかを確認するにはどうすればよいですか?

    isinstance(var、class)を使用して、varが指定されたクラスのインスタンスであるかどうかを確認できます。 Python 2.xでは、strとunicodeの基本クラスはbasestringです。したがって、次のように使用できます。 >>> s = 'A string' >>> isinstance(s, basestring) True >>> isinstance(s, str) True >>> isinstance(10, basestring) False 注:Python

  2. Javaで文字列を比較する方法

    文字列が等しいかどうかを比較するには、Stringオブジェクトのequalsを使用する必要があります またはequalsIgnoreCase メソッド。 ==を使用すべきでない理由もわかります 文字列を比較する演算子。 文字列とequals()メソッドの比較 Javaで2つの文字列を比較する必要があり、文字列の大文字と小文字も気にする必要がある場合は、equals()を使用できます。 メソッド。 たとえば、次のスニペットは、文字列の2つのインスタンスが大文字小文字を含むすべての文字で等しいかどうかを判断します。 public class CompareTwoStrings { p