Я пытаюсь создать общий завод для интерфейса Mapper, который зависит от типа класса ресурсов.Java Generic Factory
Вот код:
public interface Resource { }
public class IntegerResource implements Resource { }
public class IntegerMapper implements Mapper<IntegerResource> {
}
public static <R extends Resource> Mapper<R> buildMapper(Class<R> clazz){
if (IntegerResource.class.equals(clazz)){
return new IntegerMapper();//Compilation error: Type mismatch: cannot convert from IntegerMapper to Mapper<R>
}
return null;
}
public <R extends Resource> R getResource(Class<R> clazz){
Mapper<R> m = buildMapper(clazz);
return null;
}
В чем вопрос? –
Как исправить ошибку компиляции при возврате IntegerMapper(); // Ошибка компиляции –