Как написать пишущий Java-метод, который возвращает что-то вроде класса a или что-то вроде класса b? Например:
public ... either(boolean b) {
if (b) {
return new Integer(1);
} else {
return new String("hi");
}
}
Каков самый чистый способ?
(Единственное, что приходит мне на ум - использовать исключения, которые явно плохи, поскольку он злоупотребляет механизмом обработки ошибок для общей функции языка...
public String either(boolean b) throws IntException {
if (b) {
return new String("test");
} else {
throw new IntException(new Integer(1));
}
}
)