以下代碼段發出編譯時錯誤。Java中的最終字符
char c = 'c';
char d = c + 5;
在第二行中的錯誤表示,
possible loss of precision
required: char
found: int
該錯誤消息是基於NetBeans IDE中。
當這個角色c
聲明final
像如下。
final char c = 'c';
char d = c + 5;
編譯器時錯誤消失。
這是無關的final strings
的情況下什麼是final
修改在這裏做一個區別?
編譯器是否足夠聰明,在第二種情況下,'c + 5'是恆定的? – vikingsteve
好問題,答案必須在JLS的某個地方...讓我們等待,直到有人非常高興找到它。 – skiwi
檢查[這個答案](http://stackoverflow.com/a/21187200/1686291) –