【发布时间】:2011-10-12 15:48:37
【问题描述】:
我有一些类都实现了相同的 Java 接口,它本质上允许获取与特定实现者关联的 SQLite ContentValues,并且这些类在我的整个应用程序中被分组到各个类中的列表中。我一直希望使用通用列表插入方法来处理这些列表中的任何一个,理想的方式是:
public void doSomething(List<? implements Interface) {
...
}
然而泛型/接口不能以这种方式运行。现在,我可以这样做了:
public void doSomething(List<? extends SuperClass) {
...
}
如果我将类抽象化(并将默认方法设置为抛出 RunTimeExceptions 以强制被子类覆盖),它将完成基本相同的事情,只是更丑陋。
这对我正在做的任何事情都不是“关键任务”,我只是好奇是否有更顺畅的方法来完成某些任务。
【问题讨论】:
标签: java list generics interface abstraction