2011-12-28 28 views
28

Tôi có một chút mã:<> có nghĩa là gì đối với các Generics java?

class MyClass<RCM> 
    private List<RCM> allPreExistingConfigsForCodes() { 
    if(this.allCodesForThisType.size() == 0) 
     return new ArrayList<RCM>(0); 

IntelliJ đang nói với tôi rằng tôi nên thay thế new ArrayList<RCM> với new ArrayList<> gì sẽ có nghĩa là gì?

+0

liên quan http://stackoverflow.com/questions/4166966/what-is-the-point-of-the -diamond-operator-in-java-7 – vikramvi

Trả lời

34

Từ Java Tutorials generics lesson:

Trong Java SE 7 và sau đó, bạn có thể thay thế các đối số loại cần thiết để gọi constructor của một lớp chung với một tập rỗng kiểu luận (<>) miễn là trình biên dịch có thể xác định hoặc suy ra, các đối số loại từ ngữ cảnh. Cặp dấu ngoặc nhọn này, <>, là được gọi là kim cương. Ví dụ, bạn có thể tạo một thể hiện của Box<Integer> với tuyên bố sau:

Box<Integer> integerBox = new Box<>();

Các vấn đề liên quan