在JavaSpecialists通訊最新版中,作者提到了一段代碼是未編譯Java中爲什麼一些字符文字會導致Java中的語法錯誤?
public class A1 {
Character aChar = '\u000d';
}
嘗試編譯它,你會得到一個錯誤,如:
A1.java:2: illegal line end in character literal Character aChar = '\u000d'; ^
爲什麼一個等效的c#代碼塊不顯示這樣的問題?
public class CharacterFixture
{
char aChar = '\u000d';
}
我失去了什麼?
編輯:我原來的問題的意圖是C#編譯器是如何得到的Unicode文件解析正確的(如果有的話),爲什麼java的還是應該堅持使用不正確的(如果有的話)的解析? 編輯:我也希望myoriginal問題標題被恢復?爲什麼如此繁重的編輯,我強烈懷疑它大大改變了我的意圖。
哈哈。你除了Java要改變?我需要這樣的笑聲:) – 2012-10-29 06:23:45
你可以恢復你的原始標題(點擊「編輯X時間前」鏈接查看修訂版)。然而,原來的標題是比較Java的「方式」和C#的「方式」的主觀和議論。它們是不同規格的不同語言。 – 2012-10-29 06:25:52
@pst - 但有了這個標題,我不應該問這個問題,因爲同樣的通訊給出了足夠的解釋。我尊重編輯,不會強迫它恢復。我的意圖是爲什麼兩個類似編譯器在這方面的差異。 – suhair