我遇到了一个帮助类的问题,我正在努力翻译同名的两个类。这两个类都在我的控制范围之外,所以我不能简单地重命名它们。
我的基本选项都涉及至少为其中一种类型声明完整名称空间:
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”风格的解决方案是否可行?
答案 0 :(得分:8)
无法整理签名,至少有一个类必须由完全限定的类名引用。
在您的特殊情况下,我甚至会说:不要导入任何这些类,在源代码中使用版本3,这样每个人都完全清楚,您的转换类与同名在不同包中定义。