FooオブジェクトとBarオブジェクトのリストと、対応する各オブジェクトのコンバーターがあります。
public static void Convert(Foo1 a, Bar1 b) {
...
}
public static void Convert(Foo2 a, Bar2 b) {
...
}
etc
ただし、一部のオブジェクトにはリストが含まれています。
Bar1はBar2やBar3などとは大きく異なるため、Convert-methodsは異なる必要がありますが、すべての可能なリストを処理する1つのメソッドを作成したいと思います。
リストの内容に応じて、適切な非ジェネリックメソッドを呼び出すジェネリックメソッドを作成することは可能ですか?
これまで私はこれを試しました:
public static <T, S> void ConvertList(List<T> list, List<S> libList) {
list = new ArrayList<T>(libList.size());
for (int i = 0; i < libList.size(); ++i) {
Convert(list.get(i), libList.get(i));
}
}
しかし、「メソッド'Convert(T、S)'を解決できない」ため、コンパイルされません。
何か案は?