для примеров этого.

у использовать такой интерфейс:

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.

Есть ли способ лучше?

Ответы на вопрос(3)

Ваш ответ на вопрос