確定字串是否為合法的Java識別符號


要確定字串是否為合法的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識別符號。

示例

 線上演示

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("Checking characters for valid identifier status...");
      boolean bool1, bool2;
      bool1 = Character.isJavaIdentifierPart(ch1);
      bool2 = Character.isJavaIdentifierStart(ch2);
      String str1 = ch1 + " may be a part of Java identifier = " + bool2;
      String str2 = ch2 + " may start a Java identifier = " + bool2;
      System.out.println(str1);
      System.out.println(str2);
      System.out.println("
Checking an entire string for valid identifier status...");       System.out.println("The string to be checked: "+str);       if (str.length() == 0 || !Character.isJavaIdentifierStart(str.charAt(0))) {          System.out.println("Not a valid Java Identifier");       }       for (int i = 1; i < str.length(); i++) {          if (!Character.isJavaIdentifierPart(str.charAt(i))) {             System.out.println("Not a valid Java Identifier");          }       }       System.out.println("Valid Java Identifier");    } }

輸出

Checking characters for valid identifier status...
s may be a part of Java identifier = true
_ may start a Java identifier = true

Checking an entire string for valid identifier status...
The string to be checked: jkv_yu
Valid Java Identifier

更新於:2020年6月26日

747 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告