“易于开发” 特性
与 Java 平台之前的发行版相同,许多新语言特性将帮助简化常用结构所需的语法。
Project Coin
Project Coin 涵盖众多小变化(coins),旨在降低编写简单任务的复杂度,并改善生成代码的可读性。
1.switch 语句中的 String
在 Java 7 之前的发行版中,您无法在 switch 语句中使用 String 或 Object。这意味着对 String 执行 switch 式语句的唯一方法是使用一系列 if-then-else 语句或者将 String 转换为原始类型或 enum 类型。String 在 switch 语句中的使用意味着以下简单结构现在已经合法:
switch (myString) {
case "one": <do something>; break;
case "red": <do something else>; break;
Default: <do something generic>;
}
case "one": <do something>; break;
case "red": <do something else>; break;
Default: <do something generic>;
}
2.改善泛型实例创建的类型推断
Java 5 引入了泛型,这使它能够对实例化过程中对一般集合类应用参数化类型,从而实现编译时安全检查。但是,在实现中,类型参数会有不必要的重复,例如:
Map<String, List<String>> anagrams = new HashMap<String,
List<String>>();
List<String>>();
改进后的类型设置更改允许推断第二个 <> 结构:
Map<String, List<String>> anagrams = new HashMap<();
3.简化的 varargs 方法调用
目前,在调用接受变量长度参数的方法时,调用代码会接收到一个编译时警告,提示正在执行不安全的操作。借助这一新特性,该警告将移至接受变量长度参数的方法声明中,从而在调用代码中减少不可避免的警告的数量。
4.语言对集合的支持
初始化数组的语法可允许指定使用以下语法的数组:
int[] array = new int[] {0,1,2,3,4,5}
此语法现在适用于集合,例如:
List<String> numbers = ["one", "two", "three", "four",
"five"];
"five"];
5.自动资源管理
此增强将提供一种全新的 try 语句,用于声明一个或多个必须手动关闭的资源;例如,InputStream 或者 OutputStream。全新的 try 语法意味着,语句完成之后,所声明的资源将自动关闭:
static String readFromFile (String file) throws IOException {
try (BufferedReader reader = new BufferedReader(new FileReader(file)) {
return reader.readLine();
} // resources are automatically closed here
}
try (BufferedReader reader = new BufferedReader(new FileReader(file)) {
return reader.readLine();
} // resources are automatically closed here
}