2015-01-13 15 views

risposta

7

sguardo al hex dump:

$ xxd -g 1 code.java 
0000000: 70 75 62 6c 69 63 20 76 6f 69 64 20 6e d0 b5 77 public void n..w 
               ↑↑ ↑↑     ↑↑ 
0000010: 28 29 20 7b 0a 20 20 20 20 53 79 73 74 65 6d 2e () {. System. 
0000020: 6f 75 74 2e 70 72 69 6e 74 6c 6e 28 22 21 3f 22 out.println("!?" 
0000030: 29 3b 0a 7d 0a 0a        );.}.. 

La "e" non è il latino "e". È un CYRILLIC SMALL LETTER IE (U + 0435 codificato in UTF-8). Pertanto, lo nеw nel codice non è la parola chiave new, ma è un identificatore che si verifica per look come la parola chiave new.

Date un'occhiata a Is it a good idea to use unicode symbols as Java identifiers?

+1

Grazie per aver mostrato come lo hai determinato. – Josh

+0

Ciò dimostra che cosa dicono dei linguaggi di programmazione: "Una volta che vanno in latino, ..." – hfontanez

Problemi correlati