私はこのようなクラス構造を持っています:
class A1,A2,..,An extends A;
class B1,B2,..,Bn extends B;
Ai
そして、に変換するクラスBi
:
private B1 convert(A1 a1){}
...
private Bn convert(An an){}
のような署名を持つ単一のパブリックメソッドを定義するにはどうすればよい<? extends B> convert(<? extends A> a)
ですか? 今、私はこのアプローチしか持っていません:
B convert(A a){
if(A.getClass().equals(A1.class)){
return convert((A1)a);
}...
}
パフォーマンスが重要で、メソッドが頻繁に呼び出される場合、instanceof を使用できますか?