Đây là một ví dụ giả tạo, nhưng đơn giản hơn để giải thích hơn so với mã thực tế của tôi:Có cách nào để tránh lặp lại các thông số loại chung khi một loại có thể được suy ra từ cái kia không?
public interface ContainerOwner<T, C extends Container<T>> {
// ...
}
tôi muốn tránh sự lặp lại của T
ở chỗ loại chữ ký vì nó trở nên khó sử dụng khi các thông số mình có tham số, cho ví dụ:
ContainerOwner<
Optional<Future<Map<String, Integer>>>,
List<Optional<Future<Map<String, Integer>>>>
> foo;
Trong ví dụ này, tôi cảm thấy tham số đầu tiên có thể được suy ra từ lần thứ hai. Có một mẹo để làm điều đó?
như thế nào bạn sử dụng các loại? – Bohemian
@Bohemian Tôi không hoàn toàn chắc chắn ý bạn là gì với câu hỏi của bạn. –
Hiển thị mã sử dụng các loại. Có lẽ bạn không cần loại (s)! – Bohemian