Java 10 新特性体验

开发环境
  • eclipse 4.7.3a
  • jdk 10
局部类型推断
var url = new URL("http://www.oracle.com/"); 
var conn = url.openConnection(); 
var reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
可以使用局部类型推断的场景:
  • 局部变量初始化

  • 增强的for循环索引变量

  • 传统的for循环声明变量

  • Try-with-resources 变量

    try-with-resources这种声明方式指定了一个或多个资源,而且这些资源需要在程序结束的时候进行关闭。这种方式可以确保每个指定的资源都可以在声明结束的时候进行关闭(就是在try方法体结束的时候)。但是前提是这些资源必须实现接口java.lang.AutoCloseable(其中包括实现了java.io.Closeable接口的所有对象),原因是java.io.Closeable接口继承了java.lang.AutoCloseable接口。

下面的代码展示了使用局部变量的例子

var list = new ArrayList();    // infers ArrayList

for (var counter=0; counter<10; counter++)  {...}   // infers int

for(var str : list) {...} //增强型for循环

try (var input = 
     new FileInputStream ("validation.txt")) {...}   // FileInputStream

Github工程地址

你可能感兴趣的:(Java 10 新特性体验)