Ba có phần tương đương:
List<String> list = new ArrayList<>();
Ở phía trên, bạn đang khai báo một biến mà thực hiện giao diện List
mà sẽ chứa String
yếu tố, và nhanh chóng nó với lớp bê tông ArrayList
. Ngoài ra, bạn đang sử dụng cú pháp kim cương mới của Java 7, con trai bạn không phải viết lại String
giữa số <>
.
ArrayList<String> list = new ArrayList<String>();
Ở phía trên, bạn đang khai báo một biến của lớp bê tông ArrayList
mà sẽ chứa String
yếu tố, và nhanh chóng nó với lớp bê tông ArrayList
sử dụng cú pháp "truyền thống" mà ủy nhiệm mà bạn chỉ định kiểu String
giữa <>
.
ArrayList<String> list = new ArrayList<>();
Ở phía trên, bạn đang khai báo một biến của lớp bê tông ArrayList
mà sẽ chứa String
yếu tố, và nhanh chóng nó với lớp bê tông ArrayList
. Ngoài ra, bạn đang sử dụng cú pháp kim cương mới của Java 7, con trai bạn không phải viết lại String
giữa số <>
. Hãy chú ý rằng cú pháp kim cương (<>
) sẽ chỉ hoạt động trong Java 7 trở lên, đối với các phiên bản Java trước bạn bị mắc kẹt với việc sử dụng cú pháp truyền thống (<the-type>
) để tạo ra các generics.
Hai dạng cuối cùng là hoàn toàn tương đương; hình thức đầu tiên có một chút khác biệt vì bạn chỉ định rằng biến số list
là loại List
và không thuộc loại ArrayList
- và đó là hình thức ưa thích, vì thực hành hướng đối tượng tốt cho rằng bạn nên program to an 'interface', not an 'implementation'.
Nguồn
2012-01-15 14:11:44