Я хочу использовать такой интерфейс:
public interface ResultItem {
public int getConfidence();
public boolean equals(ResultItem item);
public ResultItem cloneWithConfidence(int newConfidence);
}
Я реализовал его с помощью различных типов объектов, представляющих результат распознавания голоса.
Идея в том, что я хочу только сравнивать результаты того же рода. То есть, если я создам класс IntResult
, реализующий ResultItem
, я хочу, чтобы сигнатуры методов стали:
public boolean equals(IntResult item);
public IntResult cloneWithConfidence(int newConfidence);
Я чувствую, что в конструкции есть недостаток мой интерфейс, потому что на данный момент я использую довольно уродливые преобразования результатов cloneWithConfidence и других методов, возвращающих ResultItem.
Есть ли способ лучше?