同じメソッド名を使用してT
オブジェクトをオブジェクトに変換する汎用コンバーター インターフェイスを作成しようとしています。U
convert
public interface GenericConverter<T, U> {
T convert(U fromObject);
U convert(T fromObject);
}
もちろん、ジェネリック消去は、コンパイル中に両方のメソッドを次のように変換します。
convert(object fromObject);
したがって、どちらの方法でも同じ消去が行われるため、コンパイル中にエラーが発生します。
私の例では、 と に対して常に異なるオブジェクト タイプを使用することは論理的T
ですU
。T
同じメソッド名 (convert) を保持し、とU
が異なる型であるという事実をカプセル化し、それぞれの場合に適切なメソッドが確実に呼び出されるようにする方法はありますか?