我刚才在看代码教程,发现了一些有趣的东西——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);
/* ^ this is a static method, normally called by Assert.assertEquals */
}
}
这让我想知道,JDK 5 和 6 中还引入了哪些我不知道的其他功能?还有其他像这样的新关键字用法吗?有什么值得注意的新库类或函数吗?
我知道那里有发行说明或变更日志,我不是在寻找“RTFM”答案。我想知道一个简短的列表,在您看来,您认为 JDK 5 或 6 中哪些功能最能改变游戏规则。
最佳答案
Java 5 有很多语法变化:最重要的(我记得)是:
- 泛型
- 枚举
- For-each 循环
- 自动装箱和自动拆箱
- 协变返回
- 可变函数
(当然,如问题中所述,静态导入和注释。)
正如 Zwei 的回答所提到的,java.util.concurrent
也是 Java 5 的一个主要特性,此外,JSR-133 及其内存模型发生了变化(允许 volatile
以一种理智的方式工作,这样你就可以安全地实现双重检查锁定)。
Java 6 没有任何语法更改(我记得);它的许多影响很大的变化是performance-related .在库方面,我最喜欢的“Java 6 新功能”库是脚本支持 (javax.script
)。
关于java - Java 5 和 6 中最有用或最有趣的新语言特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2377054/