2012-03-13 24 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