我有多个类,它们都有一个共同的领域。我正在编写一个处理提取这个公共字段的方法。例如:class A{ .. String blah; ..}class B{ .. String blah; ..}因此,可以使用接受泛型类的方法来实现这一点,而不是为每个类类型编写多个方法吗?我想要的是有一种类型的方法:void func(List <T> data){ for(T t:data){ print t.blah() }}我知道上面的代码是不正确的,但是我们如何获得类似的功能呢?
1 回答
慕田峪4524236
TA贡献1875条经验 获得超5个赞
首先,创建一个包含所有通用方法签名的接口。
interface Blah {
String getBlah();
}
然后,创建现有的类A并B实现该接口。(用于@Override确保您正确地覆盖该方法。)
最后,在 中func,获取实现该接口的对象列表。
void func(List<? extends Blah> data) {
for (Blah t : data) {
System.out.println(t.getBlah());
}
}
添加回答
举报
0/150
提交
取消