Есть ли способ сделать автоматическое неявное преобразование типов в Java? Например, скажем, у меня есть два типа, «FooSet» и «BarSet», которые оба являются представлениями набора. Преобразование между типами легко, так что я написал два служебных метода:
/** Given a BarSet, returns a FooSet */
public FooSet barTOfoo(BarSet input) { /* ... */ }
/** Given a FooSet, returns a BarSet */
public BarSet fooTObar(FooSet input) { /* ... */ }
Теперь скажите, что есть такой метод, который я хочу вызвать:
public void doSomething(FooSet data) {
/* .. */
}
Но все, что у меня есть, это BarSet myBarSet
... это означает дополнительный набор текста, например:
doSomething(barTOfoo(myBarSet));
Есть ли способ сообщить компилятору, что определенные типы могут автоматически приводиться к другим типам? Я знаю, что это возможно в C ++ с перегрузкой, но я не могу найти способ в Java. Я просто хочу набрать:
doSomething(myBarSet);
И компилятор знает, как автоматически вызвать barTOfoo()