Bằng cách làm như sau:
List<User> users = Collections.emptyList();
Các loại danh sách trở về từ Collections.emptyList();
sẽ suy ra như một String
do bên trái phía của công việc . Tuy nhiên, nếu bạn thích để không phải suy luận này, bạn có thể định nghĩa nó một cách rõ ràng bằng cách làm như sau:
List<User> users = Collections.<User>emptyList();
Trong trường hợp đặc biệt này, điều này có thể xuất hiện như là dư thừa để hầu hết mọi người (trong thực tế, tôi đã nhìn thấy rất ít mã ra trong tự nhiên mà làm cho sử dụng các đối số kiểu tường minh), tuy nhiên đối với một phương pháp với chữ ký: void doStuff(List<String> users)
nó sẽ được hoàn toàn sạch cho một để gọi doStuff()
với một cuộc tranh cãi kiểu tường minh như sau:
doStuff(Collections.<String>emptyList());
Nguồn
2008-10-03 23:18:55
mỗi khi bạn viết một đối số loại rõ ràng trong một phương pháp, thần giết chết một con mèo con (tôi nghĩ đó là josh bloch người đã nói điều này) –