У меня возникла проблема с вспомогательным классом, над которым я работаю, чтобы перевести между двумя классами с одинаковым именем. Оба класса находятся вне сферы моего контроля, поэтому я не могу просто переименовать их.
Все мои основные варианты включают полное объявление пространства имен по крайней мере для одного из типов:
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"?