2017-02-12 62 views
0

我正在從Scala轉換到Java,並錯過了默認情況下的最終參數。我探索龍目庫here(背景資料here)中具有文件暗示了此功能的實驗版:Java @FinalArgs註解 - 如何?

src/core/lombok/experimental/FinalArgs.java」,「src/core/lombok/javac/handlers/HandleFinalArgs.java」,「src/core/lombok/eclipse/handlers/HandleFinalArgs.java

我從來沒有做過太多的反射或註解用Java編寫,因此指向任何能夠弄清楚如何在我的當前Java項目中使用@FinalArgs註釋的人(未連接到Lombak--我的團隊不願意使用Lombak的修改/定製版本)。任何人也可以解釋發生了什麼事情的一等獎。

回答

1

如果不做龍目做的事情(在IDE中安裝插件並可能安裝vm代理),您無法獲得這樣的註釋。

但是,如果參數被重新分配,您可以設置大多數IDE給你一個警告或錯誤。

讓它們真正成爲最終的產品沒有進一步的好處。 JIT足夠聰明,可以自行解決問題。

0

龍目島不會添加此功能。您可以指示您的IDE或靜態源代碼分析器生成警告,但自從java8以後,變量和參數最終沒有額外的好處。如果它們實際上是最終的(從不重新分配),它們可以在lambda和匿名內部類中使用,就好像它們是最終一樣。