【发布时间】:2015-04-23 18:43:54
【问题描述】:
我有 Example1 和 Example2 课程。我在每个类中只添加了一个字段:
public class Example1 {
private String test1;
//setter and getter
}
public class Example2 {
private String test2;
//setter and getter
}
现在我需要将一个列表从这两个类之一传递给一个方法。事实上,我想要一个可以接受这两个类的列表作为参数的方法。我知道泛型类,但我不知道在这种情况下如何使用泛型类。谁能帮我? 提前致谢。
更新: 例如假设我有两种这样的方法:
public void workingMethod1(List<Example1> list){
}
public void workingMethod2(List<Example2> list){
}
其实我是想把这两种方法结合起来,有一种方法。
【问题讨论】:
-
您需要两个类都继承自同一个
class。或者使用List<? extends Object>,在这种情况下List中的项目将被视为Object。 -
为什么
List<? extends Object>会更好?从事物的声音来看,这两个类是相关的(您可以在函数中使用一个而不是另一个),因此它们可能共享一些功能 - 为什么不在类层次结构中表示呢? -
或者,您可以重载方法...
-
@will,如果这些类确实相关,那么继承可能是更好的选择,甚至是具有重载方法的单个类,但是 OP 已经开始讨论泛型,因此我们失败了关于泛型的讨论。
-
@BoristheSpider
Or use a List<? extends Object>... 对,谁关心类型安全。
标签: java list generics arraylist