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

Determinare se una stringa è un identificatore legale in Java

Per determinare se una Stringa è un identificatore Java legittimo, utilizzare i metodi Character.isJavaIdentifierPart() e Character.isJavaIdentifierStart().

Character.isJavaIdentifierPart()

java.lang.Character.isJavaIdentifierPart() determina se il carattere (codice punto Unicode) può essere parte di un identificatore Java, non come primo carattere.

Se una delle seguenti condizioni è soddisfatta, il carattere potrebbe essere parte di un identificatore Java.

  • È una lettera

  • È un simbolo monetario (ad esempio "$")

  • È un carattere di punteggiatura di connessione (ad esempio '_')

  • È un numero

  • È un numero letterale (ad esempio i caratteri dei numeri romani)

Character.isJavaIdentifierStart()

java.lang.Character.isJavaIdentifierStart() determina se il carattere (codice punto Unicode) è permesso come primo carattere di un identificatore Java.

E solo se una delle seguenti condizioni è vera, il carattere può iniziare un identificatore Java.

  • isLetter(ch) restituisce true

  • getType(ch) restituisce LETTER_NUMBER

  • Il carattere di riferimento è un simbolo monetario (ad esempio "$").

  • Il carattere di riferimento è un carattere di punteggiatura di connessione (ad esempio "_").

Di seguito è riportato un esempio di controllo di un singolo carattere e di una stringa intera. Verifica se la stringa può essere un identificatore Java legittimo.

Esempio

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 + " può essere parte di un identificatore Java = " + bool2;
      String str2 = ch2 + " può iniziare un identificatore Java = " + bool2;
      System.out.println(str1);
      System.out.println(str2);
      System.out.println("\nVerifica di una stringa completa per lo stato di identificatore valido...");
      System.out.println("La stringa da controllare: "+str);
      if (str.length() == 0 || !Character.isJavaIdentifierStart(str.charAt(0))) {
         System.out.println("Non è un identificatore Java valido");
      }
      for (int i = 1; i < str.length(); i++) {
         if (!Character.isJavaIdentifierPart(str.charAt(i))) {
            System.out.println("Non è un identificatore Java valido");
         }
      }
      System.out.println("Valido Identificatore Java");
   }
}

Risultato di output

Verifica dei caratteri per lo stato di identificatore valido...
s può essere parte di un identificatore Java = true
_ può iniziare un identificatore Java = true
Verifica di una stringa completa per lo stato di identificatore valido...
La stringa da controllare: jkv_yu
Valido Identificatore Java