English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

文字列が有効なJava識別子であるか確認する方法

Stringが合法なJava識別子であるかを確認するには、Character.isJavaIdentifierPart()とCharacter.isJavaIdentifierStart()メソッドを使用してください。

Character.isJavaIdentifierPart()

java.lang.Character.isJavaIdentifierPart()は、文字(Unicodeコードポイント)がJava識別子の一部として許可されるかどうかを確認します。

以下のいずれかの条件を満たす場合、文字はJava識別子の一部になる可能性があります。

  • これは文字です

  • これは通貨記号(例えば「$」)です

  • これは接続された記号文字(例えば'_')です

  • これは数字です

  • これは数字文字(例えばローマ数字文字)です

Character.isJavaIdentifierStart()

java.lang.Character.isJavaIdentifierStart()は、その文字(Unicodeコードポイント)がJava識別子の最初の文字として許可されるかどうかを確認します。

以下のいずれかの条件が真であれば、文字はJava識別子を開始できます。

  • isLetter(ch)はtrueを返します

  • getType(ch)はLETTER_NUMBERを返します

  • 参照の文字は、通貨記号(例えば「$」)です。

  • 参照の文字は、接続された記号文字(例えば「_」)です。

以下は、文字列内の単一の文字および全体の文字列が合法なJava識別子であるかをチェックする例です。文字列がJava識別子として有効かどうかを確認します。

import java.util.*;
public class Demo {
   public static void main(String[] args) {
      char ch1, ch2;
      ch1 = "s";
      ch2 = "_";
      String str = "jkv_yu";
      System.out.println("チェックしている文字が有効な識別子ステータスかどうか...");
      boolean bool1, bool2;
      bool1 = Character.isJavaIdentifierPart(ch1);
      bool2 = Character.isJavaIdentifierStart(ch2);
      String str1 = ch1 + 「 」はJava識別子の一部である可能性がある = + bool2;
      String str2 = ch2 + 「 」はJava識別子を開始する = + bool2;
      System.out.println(str1);
      System.out.println(str2);
      System.out.println("\n文字列全体の有効な識別子ステータスのための確認...");
      System.out.println("確認する文字列: "+str);
      if (str.length() == 0 || !Character.isJavaIdentifierStart(str.charAt(0))) {
         System.out.println("有効なJava識別子ではありません");
      }
      for (int i = 1; i < str.length(); i++) {
         if (!Character.isJavaIdentifierPart(str.charAt(i))) {
            System.out.println("有効なJava識別子ではありません");
         }
      }
      System.out.println("有効なJava識別子");
   }
}

出力結果

有効な識別子ステータスのための文字の確認...
sはJava識別子の一部である可能性がある = true
_はJava識別子を開始する = true
有効な識別子ステータスのための文字列全体の確認...
確認する文字列: jkv_yu
有効なJava識別子