Estoy llegando a un problema con una clase de ayuda en la que estoy trabajando para traducir entre 2 clases del mismo nombre. Ambas clases están fuera de mi control, así que no puedo simplemente cambiarles el nombre.El mejor enfoque para hacer frente a las colisiones de nombres de clase entre espacios de nombres
Mis opciones básicas de todos implican declarar el espacio de nombres en su totalidad por lo menos uno de los tipos:
import com.myco.second.long.package.namespace.MyObject;
public class MyObjectConvertor {
MyObject transform(com.myco.first.long.package.namespace.MyObject o) {}
}
O el enfoque inverso:
import com.myco.first.long.package.namespace.MyObject;
public class MyObjectConvertor {
com.myco.second.long.package.namespace.MyObject transform(MyObject o) {}
}
o declarar ambos espacios de nombres, de una manera más explícita patrón:
public class MyObjectConvertor {
com.myco.second.long.package.namespace.MyObject
transform(com.myco.first.long.package.namespace.MyObject o) {}
}
¿Hay alguna otra solución que podría ordenar estas metanfetaminas od firmas? Me pregunto si algún tipo de solución de estilo C++ "typedef" podría ser posible.