同じ名前の2つのクラス間で翻訳するために取り組んでいるヘルパークラスで問題が発生しています。どちらのクラスも私の管理範囲外なので、単に名前を変更することはできません。
私の基本的なオプションはすべて、少なくとも1つのタイプの名前空間を完全に宣言することを含みます。
import com.myco.second.long.package.namespace.MyObject;
public class MyObjectConvertor {
MyObject transform(com.myco.first.long.package.namespace.MyObject o) {}
}
または逆のアプローチ:
import com.myco.first.long.package.namespace.MyObject;
public class MyObjectConvertor {
com.myco.second.long.package.namespace.MyObject transform(MyObject o) {}
}
または、より明示的なパターンの場合は、両方の名前空間を宣言します。
public class MyObjectConvertor {
com.myco.second.long.package.namespace.MyObject
transform(com.myco.first.long.package.namespace.MyObject o) {}
}
これらのメソッドシグネチャを整理する可能性のある別のソリューションはありますか?ある種のC++「typedef」スタイルのソリューションが可能かどうか疑問に思っていますか?