Java 5和6中最有用或最有趣的新语言功能?
我刚刚浏览了一个代码教程,发现了一些有趣的东西——JDK 5中引入的Java 5和6中最有用或最有趣的新语言功能?,java,language-features,jdk1.6,jdk1.5,Java,Language Features,Jdk1.6,Jdk1.5,我刚刚浏览了一个代码教程,发现了一些有趣的东西——JDK 5中引入的import static特性: 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); /
import static
特性:
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中最能改变游戏规则的功能是什么。我将继续介绍一个:Java Web Start小程序支持 我喜欢玩,能够只使用一个简短的jnlp文件,而不必编写类加载器、下载本机库代码的代码,等等来处理通过浏览器获取JOGL,这真是太好了。(是的,我知道JOGL的appletloader事件) 我的JNLP文件中只有一行加载JOGL JAR、其依赖项(gluegen、nativewindow、newt)和当前系统的相应本机库
<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,仅此而已
顺便说一下,这是在中引入的。Java 5有很多语法变化:最重要的(我记得)是:
- 仿制药
- 列举
- 对于每个循环
- 自动装箱和自动拆箱
- 协变收益
- 可变函数
java.util.concurrent
也是Java5的一个主要特性,而且JSR-133及其内存模型也发生了变化(这使得volatile
能够正常工作,因此如果您愿意,可以安全地实现双重检查锁定)
Java6没有任何语法变化(我记得);它的许多影响很大的变化都是错误的。在库方面,我最喜欢的“Java6新手”库是脚本支持(javax.script
)。绝对是
在Java6中,ConcurrentSkipListMap作为一种新的数据结构添加到这个包中,它实际上保存了我们的项目:)到Chris Jester Young的列表添加中
- 瓦拉格斯
- 注释
但我真正期待的是您可以通过这里的示例了解Java 5中引入的新功能@Tom(我会说@tackline,但这不会突出显示您的名字):是的,我怎么会忘记这些呢。现在添加它们。:-)因为这里没有确定的“答案”,只有主观的意见,这可能应该是社区维基…我想说你从他的答案中的评论中抓取了这个,但看起来你在一条评论发布之后和另一条评论发布之前就回答了,所以对你来说+1:)