Nell'ultima edizione di JavaSpecialists newsletter, l'autore parla di un pezzo di codice che è un-compilabile in JavaPerché alcuni caratteri letterali dei caratteri causano errori di sintassi in Java?
public class A1 {
Character aChar = '\u000d';
}
Prova compilarlo, e si otterrà un errore, come ad esempio:
A1.java:2: illegal line end in character literal Character aChar = '\u000d'; ^
Perché un pezzo equivalente di codice C# non mostra un problema simile?
public class CharacterFixture
{
char aChar = '\u000d';
}
Mi manca qualcosa?
EDIT: La mia intenzione originale di domanda era come il compilatore C# ha ottenuto l'analisi dei file unicode corretta (se è così) e perché java dovrebbe continuare con l'analisi errata (se così)? EDIT: Anche io voglio che il titolo della mia domanda originale sia ripristinato? Perché un montaggio così pesante e ho il forte sospetto che abbia pesantemente modificato le mie intenzioni.
Haha. Tu eccetto Java per cambiare? Avevo bisogno di quella risata :) –
È possibile ripristinare il titolo originale (fare clic sul collegamento "X tempo fa modificato" per vedere le revisioni). Tuttavia, il titolo originale era soggettivo e polemico per confrontare il "modo" di Java e il "modo" di C#. Sono lingue diverse con specifiche differenti. –
@pst - ma con questo titolo, non avrei dovuto porre la domanda perché la stessa newsletter fornisce una spiegazione sufficiente. Rispetto le modifiche e non sono costretto a ripristinarlo. La mia intenzione era il perché la differenza in questo contesto tra due compilatori simili. – suhair