W najnowszym wydaniu JavaSpecialists biuletynu, autor wspomina o kawałek kodu, który jest un-compilable w JavieDlaczego niektóre literały znaków powodują błędy składni w Javie?
public class A1 {
Character aChar = '\u000d';
}
Spróbuj skompilować go, a dostaniesz błąd, takie jak:
A1.java:2: illegal line end in character literal Character aChar = '\u000d'; ^
Dlaczego równoważny fragment kodu C# nie pokazuje takiego problemu?
public class CharacterFixture
{
char aChar = '\u000d';
}
Czy brakuje mi czegoś?
EDYCJA: Moim pierwotnym zamiarem było pytanie, w jaki sposób kompilator C# ma poprawne parsowanie pliku kodu Unicode (jeśli tak) i dlaczego java nadal powinna trzymać się niepoprawnego (jeśli tak) parsowania? EDIT: Również chcę przywrócić tytuł pytania myoriginal? Dlaczego tak ciężka edycja i mocno podejrzewam, że w dużym stopniu zmodyfikowała moje intencje.
Haha. Ty oprócz Javy chcesz się zmienić? Potrzebowałem tego śmiechu :) –
Możesz przywrócić swój oryginalny tytuł (kliknij link "edytowany X czas temu", aby zobaczyć wersje). Jednak oryginalny tytuł był subiektywny i kłótliwy, aby porównać "sposób" Javy i "sposób" C#. Są to różne języki o różnych specyfikacjach. –
@ pst - ale z tym tytułem nie powinienem był zadawać pytań, ponieważ ten sam biuletyn daje wystarczające wyjaśnienie. Szanuję zmiany i nie jestem zmuszony go przywrócić. Moją intencją było, dlaczego różnica w tym kontekście między dwoma podobnymi kompilatorami. – suhair