确定字符串是否为合法的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 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告