2014-10-10 91 views
-1

這是否和Java 7一起使用? (我只安裝了Java 6)。返回值的鑽石算子

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

謝謝。

+1

使用此作爲更新您的Java版本的一個很好的理由。 – Tom 2014-10-10 07:20:20

回答

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 

但在你的例子中,鑽石操作員沒有「原始通用」聲明來承擔正確的類型,所以它不會編譯。

2

不,它的編譯時錯誤。

不正確的參數類型列表的數量;它不能是 參數化參數<>