Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 解决名称空间之间的类命名冲突的最佳方法_Java_Namespace Organisation - Fatal编程技术网

Java 解决名称空间之间的类命名冲突的最佳方法

Java 解决名称空间之间的类命名冲突的最佳方法,java,namespace-organisation,Java,Namespace Organisation,我遇到了一个助手类的问题,我正在处理该类,以便在两个同名的类之间进行转换。这两个类都超出了我的控制范围,所以我不能简单地重命名它们 我的基本选项都涉及至少一种类型的完整命名空间声明: import com.myco.second.long.package.namespace.MyObject; public class MyObjectConvertor { MyObject transform(com.myco.first.long.package.namespace.MyObjec

我遇到了一个助手类的问题,我正在处理该类,以便在两个同名的类之间进行转换。这两个类都超出了我的控制范围,所以我不能简单地重命名它们

我的基本选项都涉及至少一种类型的完整命名空间声明:

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++“TyPuff”样式解决方案是可能的?

< p>没有办法整理签名,至少有一个类必须由完全限定的类名引用。 在您的特殊情况下,我甚至会说:不要导入这些类中的任何一个,在源代码中使用版本3,这样每个人都会完全意识到,在不同的包中定义的具有相同名称的转换类