確定字串是否為合法的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
廣告