Подкласс имеет небольшую логику и возвращает логическое значение true/false или сообщение об ошибке, но в случае любого исключения он попадает в тот же класс и сообщение об ошибке только для уведомления верхнего класса, который раньше отображал сообщение об ошибке в пользовательском интерфейсе. не могу думать о том, как управлять возвращаемым значением подкласса, потому что, если подкласс работает успешно, он возвращает логическое значение true/false, но в случае ошибки он возвращает строковое сообщение об ошибке. В этот момент я обнаружил проблему двух разных типов возвращаемого значения из метода. пожалуйста помогите мне, как я могу решить эту проблему.
как разработать метод класса, который возвращает два разных типа возврата?
Ответы (5)
У вас есть два варианта возврата объекта
class Status {
Boolean succesful;
String errorText;
}
или выдать исключение, если произойдет ошибка
throw new Exception( errorText );
Почему вы возвращаете код ошибки String? Просто выбросьте свое исключение (возможно, завернутое в какое-то другое) и получите его выше.
Ваш вопрос не очень ясен.
Насколько я понимаю, вы должны вернуть логическое значение или исключение.
Вы должны указать свое сообщение об ошибке в исключении (см.: http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Exception.html#Exception%28java.lang.String%29). Вы также можете вернуть различные исключения, если вам нужно.
Если ваш подкласс возвращает переменную типа Object, вы можете проверить его тип данных выше.
//Success
Object object = new Boolean();
//Fail
Object object = new String();
if(object instanceOf Boolean) {
//Do something
} else if(object instanceOf String) {
//Do something else
}
Рассмотрите возможность использования класса функциональной Java. Это реализация для хранения одного из двух значений.