Ich habe eine Fabrik (Registry DP) ableiten, die die Klasse initialisiert:Kann nicht funktionalen Schnittstelle Typ JAVA 8
public class GenericFactory extends AbstractFactory {
public GenericPostProcessorFactory() {
factory.put("Test",
defaultSupplier(() -> new Test()));
factory.put("TestWithArgs",
defaultSupplier(() -> new TestWithArgs(2,4)));
}
}
interface Validation
Test implements Validation
TestWithArgs implements Validation
Und in der Abstrakte
protected Supplier<Validation> defaultSupplier(Class<? extends Validation> validationClass) {
return() -> {
try {
return validationClass.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
throw new RuntimeException("Unable to create instance of " + validationClass, e);
}
};
}
Aber ich erhalte immer nicht funktionalen Schnittstelle Typen ableiten kann Error. Was mache ich hier falsch?
Die Tatsache, dass Ihr Lambda wirft und kehrt nicht in jedem Zweig kann verwirre es. Ich erinnere mich, dass ich aus diesem Grund meine eigene funktionale Schnittstelle schreiben musste. – Carcigenicate