weixin_42506474 2013-07-22 23:00
浏览 267
已采纳

java泛型问题

public interface IFacade {
public Map execute(T param);
}

public final class FacadeFactory {
public static > T getInstance(Class<? extends IFacade<?>> clazz) {
return Factory.getBean(clazz.getSimpleName());
}
}

public class Facade implements IFacade> {
@Override
public Map execute(Map o) {
return null;
}
private static void doSomething(List records) {
}
}

Facade facade = FacadeFactory.getInstance(Facade.class);

最前边这个Facade类原来不带这个泛型,只是实现了IFacade>这个接口。
FacadeFactory.getInstance(Facade.class);这个调用也是木有问题的。

现在我由于需要Facade类增加了后,
FacadeFactory.getInstance(Facade.class);这个工厂调用的getInstance部分就提示编译错误了。提示:
ZkiFacadeFactory 的方法 getInstance(Class<? extends IFacade<?>>) 的参数 (Class) 不匹配。

请问是哪里的问题?

  • 写回答

2条回答 默认 最新

  • kelly_zsl07 2013-07-25 16:14
    关注

    维数不匹配,建议删掉T getInstance(Class<? extends IFacade<?>> clazz) 里面的IFacade<?>问号,T getInstance(Class<? extends IFacade> clazz)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?