Java SE 7 新特性

来源:互联网 发布:sammy711知乎 编辑:程序博客网 时间:2024/05/22 13:22

发布日期:2011-07-28 

新变化:

1. String类型可用于switch语句
2. 支持二进制常量,且能在数字中使用下划线进行分隔,例如,long creditCardNumber = 1234_5678_9012_3456L
3. 简化的可变长参数方法的调用:当包含可变长参数的方法使用了不确定的数组类型时,编译器会报出警告。现在将该警告从方法调用处移到了方法声明处。
4. 改进了泛型实例创建时的类型推导(< >,即钻石符):在创建类实例时使用受限制的类型推导,以便显式地为构造器声明参数类型,但从上下文可以确定这些类型,那么可用一个空的类型参数设置去替代这一声明。所以,为了替代如下写法:
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();
可以写成:
Map<String, List<String>> anagrams = new HashMap<>();
5.改进了JVM对动态语言的支持。
Java SE 7还引入自Java起始以来最新的字节码结构,InvokeDynamic关键字。InvokeDynamic加入了多于一个的调用模式,以及多于一个的链接模式,这样就能基于用户定义的规范进行编程。它的本意是在缺少静态类型信息时能高效且灵活地执行方法调用,这就使得运行在JVM上的动态语言,如JRuby和Jython,的性能得到实质性地提升。

 

原创粉丝点击