Java如何使用菱形语法?

在Java 7中,引入了称为菱形语法或菱形运算符的新功能。这种菱形语法<>简化了我们实例化泛型类型变量的方式。在Java的先前版本中,当声明和实例化泛型类型时,我们将像下面的代码片段一样进行操作:

List<String> names = new ArrayList<String>();
Map<String, List<Integer>> map = new HashMap<String, List<Integer>>();

如您在代码段中所见,我们通过两次定义泛型类型来重复自己。我们定义我们将存储在对象类型List和Map在左,右侧。通过使用菱形语法,编译器将自动推断右侧表达式参数的类型。因此,在Java 7中,我们可以像上面这样编写上面的代码片段:

List<String> names = new ArrayList<>();
Map<String, List<Integer>> map = new HashMap<>();

这使我们的代码更简单易读,并且使用菱形语法,编译器将确保我们的代码中具有可用的泛型类型安全检查。由于在编译时捕获的类型不兼容,这将导致任何错误。