Sự khác biệt chính là sau là phương pháp chung trước đây là không.
Vì vậy, ví dụ như trong các phương pháp sau bạn có thể làm một cái gì đó như thế này:
public static <E extends MyObject> void someMethod(List<E> someList) {
E myObject = someList.iterator().next(); // this can actually lead to errors
myObject.doSomething(); // so treat it as an example
}
Điều này có nghĩa rằng bạn có thể thay thế một kiểu bất kỳ E
mà phù hợp với các quy tắc trong việc kê khai phương pháp chung chung và có thể sử dụng loại đó trong phương pháp của bạn.
Xin lưu ý rằng mặc dù bạn nên gọi phương thức chung với lập luận kiểu như thế này:
someClass.<MyArbitraryType>someMethod(someList);
Bạn có thể tìm thấy một cái nhìn tổng quan tốt đẹp của phương pháp chung here.
Nguồn
2013-02-20 12:19:08
bằng cách sử dụng thứ hai cho phép bạn tham chiếu E trong mã 'someMethod's của bạn. – Oren