钻石算子的返回值

时间:2014-10-10 07:14:55

标签: java generics

这适用于Java 7吗? (我只安装了Java 6。)

List<> customers = service.getCustomers(); // returns List<Customer>

感谢。

2 个答案:

答案 0 :(得分:4)

不,钻石用于避免定义两次泛型的样板代码:

Java 6:

List<List<String>> myList= new ArrayList<List<String>>()

Java 7等价物:

 List<List<String>> myList= new ArrayList<>()  // that means the generic is the same that the declared one in the left side of the assignation

但在您的示例中,钻石运营商没有&#34;原始通用&#34;声明采用正确的类型,因此不会编译。

答案 1 :(得分:2)

不,它是编译时错误。

  

类型List的参数数量不正确;它不可能是   参数化参数&lt;&gt;