У меня есть следующий интерфейс:Infer дженерики с интерфейсом - Java
public interface Evaluator<T> {
T evaluate(Collection<Extractable> sample);
}
и класс, реализующий этот интерфейс:
public class PrecisionEvaluator implements Evaluator<Map<Triple<Short, Integer, String>, AttributePrecisionBean>> {
@Override
public Map<Triple<Short, Integer, String>, AttributePrecisionBean> evaluate(Collection<Extractable> sample){
...
}
поэтому использование выше будет:
Evaluator<Map<Triple<Short, Integer, String>, AttributePrecisionBean>> eval = new PrecisionEvaluator();
Is th как сделать интерфейс Evaluator неявным образом возвращать общий тип, определенный в классе, реализующем его? так что использование было бы просто:
Evaluator eval = new PrecisionEvaluator();
Или есть более чистый способ для этого?
Я думаю, что реальная проблема, с которой вы сталкиваетесь, заключается в том, что вы не дали «Карта <Тройка <Короткий, Целое, Строка>, АтрибутПрекцияBean>' это собственное имя и, следовательно, собственный класс. – SpaceTrucker