Ааа, пропустил это. Согласовано. Благодарю.
дал интерфейс «продюсер» (который будет использоваться со ссылками на методы, соответственно, чтобы его можно было легко смоделировать для модульных тестов):
@FunctionalInterface
public interface Factory<R, T, X extends Throwable> {
public R newInstanceFor(T t) throws X;
}
который я создал таким образом, так как мой первый вариант использования фактически должен был бросить некоторые проверенныеWhateverException
.
Но мой второй вариант использования не имеет X, чтобы бросить.
Лучшее, что я мог придумать, чтобы сделать компилятор счастливым:
Factory<SomeResultClass, SomeParameterClass, RuntimeException> factory;
Это компилирует и делает то, что мне нужно, но все равно безобразно. Есть ли способ сохранить этот единственный интерфейс, но не предоставлять X при объявлении конкретных экземпляров?