Ho definito un metodo statico assertThat
per estendere AssertJ. Questo metodo accetta un'espressione lambda del tipo:Chiamata di metodo ambigua con Lambda in Java
@FunctionalInterface
public interface Action {
void execute() throws Exception;
}
La firma è simile al seguente:
public static ExceptionAssert assertThat(Action action)
voglio usare questo metodo con un import statici. Ma è ambiguo. Il compilatore non sa se utilizzare il metodo assertThat(Iterable) o il mio metodo. Non capisco come un metodo void
possa entrare in conflitto con un metodo che restituisce un Iterator<T>
.
Qualche idea su come risolvere questo conflitto (senza scrivere il nome della classe davanti a assertThat
)?
In realtà è il problema che il codice genera un'eccezione. – deamon