2016-02-27 59 views

回答

0

final存在意味着該方法不能改變參數的值。這主要用於代碼文檔/限制,這使得編譯器試圖將其修改爲錯誤。對於編譯器和/或JVM來說,它也可能是用於優化目的的有用信息;例如,他們不必應用靜態分析來查看參數是否永遠不會改變,您已經強迫它成爲真實的。這可能是特別有用的信息,當內聯方法調用時,它被稱爲一個常數值,如在listIterator()(不帶參數),這是簡單的:return listIterator(0);的實現。

+0

它只是爲了優化目的嗎?如果它不是最終的,這個參數不會導致任何問題? – zhaoch93

+0

@ zhaoch93:同樣,也是代碼文檔。不,如果它不是'最後的'就不會有問題。我不知道這是否會改變編譯器和/或JVM可以應用的優化,或者他們是否必須先努力工作(弄清楚它從未改變過)。 –

相關問題