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