Angenommen, ich habe die folgende Funktionsschnittstelle in Java 8:
interface Action<T, U> {
U execute(T t);
}
Und für einige Fälle benötige ich eine Aktion ohne Argumente oder Rückgabetyp. Also schreibe ich so etwas:
Action<Void, Void> a = () -> { System.out.println("Do nothing!"); };
Es gibt mir jedoch Kompilierungsfehler, ich muss es schreiben als
Action<Void, Void> a = (Void v) -> { System.out.println("Do nothing!"); return null;};
Welches ist hässlich. Gibt es eine Möglichkeit, den Void
Typparameter loszuwerden ?
Runnable
, wonach Sie suchenRunnable r = () -> System.out.println("Do nothing!");