tôi có giao diện như sau:Generics Suy luận với giao diện - java
public interface Evaluator<T> {
T evaluate(Collection<Extractable> sample);
}
Và một lớp thực hiện giao diện:
public class PrecisionEvaluator implements Evaluator<Map<Triple<Short, Integer, String>, AttributePrecisionBean>> {
@Override
public Map<Triple<Short, Integer, String>, AttributePrecisionBean> evaluate(Collection<Extractable> sample){
...
}
nên sử dụng những điều trên sẽ là:
Evaluator<Map<Triple<Short, Integer, String>, AttributePrecisionBean>> eval = new PrecisionEvaluator();
Thứ ere là một cách để làm cho Evaluator giao diện ngầm hoàn trả kiểu generic được định nghĩa trong lớp thực hiện nó? để việc sử dụng đơn giản là:
Evaluator eval = new PrecisionEvaluator();
Hoặc có cách nào khác để tìm hiểu?
Tôi nghĩ rằng vấn đề thực sự bạn đang gặp phải là bạn không đưa ra 'Bản đồ, AttributePrecisionBean>' đó là tên riêng và do đó là lớp riêng của nó. –
SpaceTrucker