tôi có một nhà máy (Registry DP) mà khởi tạo các lớp:Không thể suy ra chức năng loại giao diện 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
Và trong AbstractFactory
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);
}
};
}
Nhưng tôi tiếp tục nhận được không thể suy ra kiểu giao diện chức năng Lỗi. Những gì tôi đang làm sai ở đây?
Thực tế là lambda của bạn ném và không trả lại trong mỗi chi nhánh có thể gây nhầm lẫn. Tôi dường như nhớ lại phải viết lên giao diện chức năng của riêng tôi vì lý do này. – Carcigenicate