JAVA 7 的新特性总结

来源:互联网 发布:用友软件 主要客户 编辑:程序博客网 时间:2024/05/01 20:26

JAVA 7 的新特性总结

本文的内容总结自网络。

  • 1. switch中允许使用String
  • 2. 创建泛型实例时自动类型判断
  • 3. 对集合类的语言支持
  • 4. 自动资源管理
  • 5. 数字字面量下划线支持
  • 6. 二进制字面量
  • 7. 简化可变参数方法的调用

1. switch中允许使用String

String s = "java";switch (s) {    case "python":        System.out.println("python");        break;    case "java":        System.out.println("java");        break;    default:        System.out.println("helllo world");}

2. 创建泛型实例时自动类型判断

//原先的写法Map<String, List<String>> m = new HashMap<String, List<String>();//现在的写法Map<String, List<String>> m = new HashMap<>();

3. 对集合类的语言支持

原先写法:

List<String> list = new ArrayList<String>();list.add("Jane");String item = list.get(0);Map<String, Interger> map = new Map<String, Integer>();map.put("Jane", 18);int value = map.get("Jane");

现在可用写法:

List<String> list = ["Jane"];String item = list.get(0);Map<String, Interger> map = {"Jane" : 18};int value = map["Jane"];

但是通过这样的写法创建的集合就不可变了。


4. 自动资源管理

Java中一些资源是需要手动关闭的,如Reader,Writer,Socket等。这个新的语言特性允许try语句本身申请更多的资源,这些资源作用于try代码块,并自动关闭。

//原先写法BufferedReader bufr = null;try {bufr = new BufferedReader(new FileReader(path));}finally {    bufr.close();}//现在写法try (BufferedReader bufr = new BufferedReader(new FileReader(path))) {}

5. 数字字面量下划线支持

int a = 1_000;

6. 二进制字面量

byte b = (byte)ob001;short s = (short)0b010;

7. 简化可变参数方法的调用

当程序员试图使用一个不可具体化的可变参数并调用一个varargs (可变)方法时,编辑器会生成一个“非安全操作”的警告 。
JDK 7将警告从call转移到了方法声明(methord declaration)的过程中。这样API设计者就可以使用vararg,因为警告的数量大大减少了。

0 0
原创粉丝点击