作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请你帮助我好吗?以下代码示例:
public abstract class AbstractWorker {
public abstract void execute();
}
public class Config {
public final String name;
public Config(final String name) {
this.name = name;
}
}
public abstract class AbstractWorkerFactory<C extends Config> {
public abstract AbstractWorker createWorker(final C configuration);
}
public class Service {
public AbstractWorker caramba(final AbstractWorkerFactory<? extends Config> factory, final Config configuration) {
// it is not compile :(
return factory.createWorker(configuration);
}
}
public <C extends Config> AbstractWorker caramba(final AbstractWorkerFactory<C> factory, final C configuration) {
return factory.createWorker(configuration);
}
public static class MegoConfig extends Config {
public static class WorkerFactory extends AbstractWorkerFactory<Config> {
public static class MegoWorkerFactory extends AbstractWorkerFactory<MegoConfig> {
public AbstractWorker caramba(final AbstractWorkerFactory<? super MegoConfig> factory, MegoConfig configuration) {
return factory.createWorker(configuration);
}
new Service().caramba(new WorkerFactory(), new MegoConfig(""));
new Service().caramba(new MegoWorkerFactory(), new MegoConfig(""));
最佳答案
声明
public AbstractWorker caramba(final AbstractWorkerFactory<? extends Config> factory, final Config configuration) {
caramba(new AbstractWorkerFactory<FooConfiguration>() { ... }, new BarConfig());
public <C extends Config> AbstractWorker caramba(final AbstractWorkerFactory<C> factory, final C configuration)
But code which uses Service couldn't specify generic type. Is it possible other solution?
关于Java泛型通配符扩展问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4381521/
我是一名优秀的程序员,十分优秀!