Kev*_*ave 0 java generics methods list
我想写一个可以接受两个相似类型的函数.但不一样.
MyClassA {
abc()
a2b()
}
MyClassB {
abc()
a3b()
}
Run Code Online (Sandbox Code Playgroud)
一种方法在这两种方法中是相同的.该函数应该接受这两种类型中的任何一种的列表,并且我想在列表中的对象上调用abc().
这似乎没有帮助:
private <T> Set<MyclassX> createObject(List<T> classes) {
Set<MyclassX> x;
if ( T instanceof MyClassA) {
for ( MyClassA a : classes ) {
if (a.abc().equals("somethig")) {
x.add( t.abc());
}
}
}
return x;
}
Run Code Online (Sandbox Code Playgroud)
我甚至不需要检查instanceof.我只需要遍历列表并比较值.如果匹配,则调用该方法abc()
只需创建一个通用接口,让MyClassA和MyClassB实现它:
interface MyClass {
void abc();
}
Run Code Online (Sandbox Code Playgroud)