似たような 2 つの型を受け入れる関数を書きたいと思います。しかし、同じではありません。
MyClassA {
abc()
a2b()
}
MyClassB {
abc()
a3b()
}
この 2 つで 1 つの方法は同じです。この関数は、これら 2 つのタイプのいずれかのリストを受け入れる必要があり、リスト内のオブジェクトに対して 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;
}
調べる必要すらないinstanceof
。リストを反復処理して値を比較するだけです。一致する場合は、メソッドを呼び出しますabc()