2012-03-13 92 views
0

使用或不使用Java final關鍵字的問題已經在SO討論過很多次。我正在嘗試收集一些使用它的知名開源Java項目。到目前爲止我還沒有找到任何東西。你能告訴我一些嗎?開源Java項目隨處可見

關於使用或不使用final問題:

Why would one mark local variables and method parameters as "final" in Java?

Using "final" modifier whenever applicable in java

Why are local variables not declared final in most open source java projects?

+0

爲了澄清我的意思是「到處「看到第一個問題的鏈接。 – jabal 2012-03-13 09:19:55

+1

對於這種情況,包括Google Web搜索,Koders,Krugle和JExamples在內的搜索引擎看起來很「悲觀」(即針對其他情況進行了優化,導致此案件的結果不準確)。 – minopret 2012-03-13 09:39:18

+0

此問題不適合我們的問答格式。我們期望答案通常涉及事實,參考或具體的專業知識;這個問題可能會徵求意見,辯論,爭論,投票或擴大討論。 – oers 2012-03-13 09:59:01

回答

2

下面是使用最後的參數和當地人的一些項目。他們沒有被選爲突出或活動。我不知道我會怎麼做。

我收集了他們從谷歌:allintext: 「最後的」 導入站點:sourceforge.net

  • wnpojo.sf.net包共發現實體Java類
  • spnego.sf.net在集成Windows身份驗證Java的
  • waterken.sf.net通過HTTP提供異步調用
  • jeuclid.sf.net呈現MATHML
  • statcvs.sf.net介紹CVS項目,表格和圖表

下面是做一些非常突出的項目(至少不是在我檢查的文件)在他們的Java代碼中使用的最終參數和當地人。

  • GNU:GNU Classpath的
  • 桑巴:JCIFS
  • 的MySQL:連接器/ J
  • ANTLR
  • 亞馬遜網絡服務(AWS)工具包爲Eclipse
  • 的Apache Tomcat
  • 充氣城堡
  • 的Eclipse:Java開發工具包(JDT),核心UI
  • 谷歌Web工具包(GWT):移動的WebKit
  • Unicode國際化組件的Java(ICU4J)
  • 的JUnit
  • 的OpenJDK
  • 春:Spring框架
+0

我看到你終於做出了谷歌查詢:-) – jabal 2012-03-13 10:55:28

0

檢查Guava庫 - sample

+0

好吧,我檢查了代碼,但在我看來,他們並沒有嚴格使用它。 http://code.google.com/p/guava-libraries/source/browse/guava/src/com/google/common/math/MathPreconditions.java – jabal 2012-03-13 09:11:52

+0

在您的鏈接中,我沒有看到任何可以標記的狀態最後,如果你指的是方法參數,那麼我想沒有必要:) – Premraj 2012-03-13 09:17:30

+0

如果可能的話,將它放入每個方法簽名中。您發送的示例鏈接顯示了一些以這種方式使用它的方法,但沒有說服我說番石榴就是一個很好的例子。 – jabal 2012-03-13 09:18:23

2

我知道opengamma索姆etimes使用最終的參數/變量,儘管它似乎不是一個嚴格的規則。我想說,他們可能使用最終不到5%的時間。例如參見sample, lines 192-193, 215

+1

舊的OpenGamma編碼指導方針對所有局部變量和參數都要求「final」,但並不總是遵循。 Java 8新的OpenGamma編碼指南建議不要使用「final」(由於Java8中的有效最終概念)。見Strata - https://github.com/OpenGamma/Strata – JodaStephen 2016-10-10 10:01:17