首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 5和6中最有用或最有趣的新语言特性?

Java 5和6中最有用或最有趣的新语言特性?
EN

Stack Overflow用户
提问于 2010-03-04 05:21:48
回答 4查看 1.8K关注 0票数 5

我刚才正在阅读一个代码教程,发现了一些有趣的东西-- JDK 5中引入的import static特性:

代码语言:javascript
复制
import static org.junit.Assert.assertEquals;

public class AdditionTest {

  private int x = 1;
  private int y = 1;

  @Test public void addition() {
    int z = x + y;
    assertEquals(2, z);
    /* ^ this is a static method, normally called by Assert.assertEquals */
  }

}

这让我想知道,在JDK 5和6中引入了哪些我不知道的其他特性?还有其他像这样的新关键字用法吗?有什么值得注意的新库类或函数吗?

我知道释放的笔记或变化是在那里,我不是在寻找一个"RTFM“的答案。我想知道一个简短的列表,在您看来,在JDK 5或6中,您认为哪些功能最能改变游戏。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-03-04 05:25:07

Java 5有很多语法变化:最重要的(我记得)是:

  • 仿制药
  • 埃努姆
  • 对于-每个循环
  • 自动装箱和自动拆箱
  • 协变量回报
  • 变分函数

(当然,正如问题中所指出的,静态导入和注释。)

正如Zwei的回答所提到的,java.util.concurrent也是Java5的一个主要特性,JSR-133和它的内存模型也发生了变化(这允许volatile以一种正常的方式工作,这样如果您愿意的话,可以安全地实现双重检查锁定)。

Java6没有任何语法更改(我记得);它的许多高影响更改是业绩相关。在库方面,我最喜欢的“Java6”库是脚本支持(javax.script)。

票数 9
EN

Stack Overflow用户

发布于 2010-03-04 05:28:35

当然,java.util.concurrent

在Java6中,ConcurrentSkipListMap作为一个新的数据结构添加到这个包中,它实际上保存了我们的项目:)

票数 4
EN

Stack Overflow用户

发布于 2010-03-04 05:22:23

我将继续介绍其中一个:Java支持

我喜欢玩JOGL,而且能够只使用一个简短的jnlp文件,而不必编写类加载器、下载本机库代码的代码等等来处理通过浏览器获取JOGL的问题,这真是太好了。(是的,我知道JOGL的appletloader的事情)

只需我的JNLP文件中的一个行就可以加载JOGL、它的依赖项(gluegen、nativewindow、newt)以及当前系统的适当本机库。

代码语言:javascript
复制
<extension name="JOGL"
    href="http://download.java.net/media/jogl/builds/archive/jsr-231-2.0-beta10/webstart/jogl-all-awt.jnlp" />

我的jnlp文件的其余部分仅用于我的应用程序的标题和JAR文件的URL,这就是它。

顺便说一下,这是在JDK 6u10中介绍的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2377054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档