209 votes

Identificateurs juridiques en Java

Je lis pour SCJP et j’ai une question à propos de cette ligne :

Les identificateurs doivent commencer par une lettre, un caractère de devise ($) ou un raccordement tels que le trait de soulignement (_). Les identificateurs ne peuvent commencer par un certain nombre !

Il affirme qu’un nom d’identificateur valide peut commencer par un raccordement caractère comme trait de soulignement. J’ai pensé underscores étaient la seule option valide ? Quels autres reliant les personnages sont là ?

269voto

Peter Lawrey Points 229686

Voici une liste de connexion des personnages. Ce sont des caractères utilisés pour connecter les mots.

http://www.fileformat.info/info/unicode/category/Pc/list.htm

U+005F  LOW LINE    _   
U+203F  UNDERTIE    ‿   
U+2040  CHARACTER TIE   ⁀   
U+2054  INVERTED UNDERTIE   ⁔   
U+FE33  PRESENTATION FORM FOR VERTICAL LOW LINE     ︳   
U+FE34  PRESENTATION FORM FOR VERTICAL WAVY LOW LINE    ︴   
U+FE4D  DASHED LOW LINE     ﹍   
U+FE4E  CENTRELINE LOW LINE     ﹎   
U+FE4F  WAVY LOW LINE   ﹏   
U+FF3F  FULLWIDTH LOW LINE  _

Cette compile sur Java 7.

int _, ‿, ⁀, ⁔, ︳, ︴, ﹍, ﹎, ﹏, _;

Un exemple. Dans ce cas - tp est le nom d'une colonne et la valeur d'une ligne donnée.

Column<Double> ︴tp︴ = table.getColumn("tp", double.class);

double tp = row.getDouble(︴tp︴);

La suite

for (int i = Character.MIN_CODE_POINT; i <= Character.MAX_CODE_POINT; i++)
    if (Character.isJavaIdentifierStart(i) && !Character.isAlphabetic(i))
        System.out.print((char) i + " ");
}

imprime

$ _ ¢ £ ¤ ¥ ؋ ৲ ৳ ৻ ૱ ௹ ฿ ៛ ‿ ⁀ ⁔ ₠ ₡ ₢ ₣ ₤ ₥ ₦ ₧ ₨ ₩ ₪ ₫ € ₭ ₮ ₯ ₰ ₱ ₲ ₳ ₴ ₵ ₶ ₷ ₸ ₹ ꠸ ﷼ ︳ ︴ ﹍ ﹎ ﹏ ﹩ $ _ ¢ £ ¥ ₩

25voto

Markus Mikkolainen Points 2228

Parcourir l’ensemble k de 65 caractères et demander `` . La réponse est : « undertie » 8255 décimal

7voto

Greg Hewgill Points 356191

La spécification définitive d’un identificateur légal de Java se trouvent dans la Spécification du langage Java.

6voto

Simulant Points 4329

Voici une Liste de connecteur de Caractères Unicode. Vous ne les trouverez pas sur votre clavier.

U+005F BAS DE LIGNE _
U+203F UNDERTIE ‿
U+2040 CARACTÈRE CRAVATE ⁀
U+2054 INVERSÉ UNDERTIE ⁔
U+FE33 FORME DE PRÉSENTATION VERTICALE BASSE LIGNE ︳
U+FE34 FORME DE PRÉSENTATION ONDULÉE VERTICALE BASSE LIGNE ︴
U+FE4D TIRETS BAS DE LIGNE ﹍
U+FE4E AXE DE BAS DE LIGNE ﹎
U+FE4F ONDULÉ BAS DE LIGNE ﹏
U+FF3F FULLWIDTH BAS DE LIGNE _

-2voto

user3209302 Points 11

Les identificateurs sont des noms de classes, les interfaces, les méthodes, les variables et les paquets.

Les identificateurs DOIVENT commencer avec

 A - Z or a - z
 $ or _

Peut également contenir des

  0 - 9

Ne peut pas être

  null
  true or false
  a keyword

Pas de limites sur le nombre de caractères

(Je ne parle pas sur les autres caractères Unicode)

cliquez ici pour le blog avec des exemples

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X