I'm hitting a problem with a helper class I am working on to translate between 2 classes of the same name. Both classes are outside my scope of control, so I can't simply rename them.
My basic options all involve declaring the namespace in full for at least one of the types:
import com.myco.second.long.package.namespace.MyObject;
public class MyObjectConvertor {
MyObject transform(com.myco.first.long.package.namespace.MyObject o) {}
}
Or the reverse approach:
import com.myco.first.long.package.namespace.MyObject;
public class MyObjectConvertor {
com.myco.second.long.package.namespac开发者_开发知识库e.MyObject transform(MyObject o) {}
}
Or declaring both namespaces, for a more explicit pattern:
public class MyObjectConvertor {
com.myco.second.long.package.namespace.MyObject
transform(com.myco.first.long.package.namespace.MyObject o) {}
}
Is there another solution that might tidy up these method signatures? I'm wondering if some kind of C++ "typedef" style solution might be possible?
There's no way to tidy up the signatures, at least one class will have to be referenced by the fully qualified classname.
And in your special case, I'd even say: don't import any of those classes, use version 3 in your source code so everyone is fully aware, that your transforming classes with the same name that are defined in different packages.
精彩评论