У меня есть метод, который будет возвращать код ошибки (int) и результат (int).Если код ошибки 0 , результат действителен.В c ++ это может выглядеть так:
int method(int& result);
Java-вызовы по ссылке, поэтому, если мы изменим объект в методе, изменение будет видно вызывающей стороне.Но int - это не класс, поэтому я не могу сделать так, как это описано в java:
int method(int result);
И Integer и Long являются неизменяемыми в Java, поэтому изменение, вызывающее их, не будет видно, если я это сделаювот так:
Integer method(Integer result);
Оберните результат в класс Wrapper!Но это не так просто!
Я долго работаю с c ++ и недавно переехал в Java, это меня очень беспокоит!кто-нибудь может предложить решение?
================================
ну, в заключение, есть следующие текущие решения:
- передать массив в качестве параметра
- передать оболочку в качестве параметра
- вернуть пару
- возвращает оболочку, содержащую номер ошибки и результат
- исключение throw
- передать мутабильный текст
1-й и 2-й делают мои приложения 3-м и 4-м, кажется, нетнастолько хорошо, что 5-ый, этот метод часто вызывается, поэтому я должен принять во внимание эффективность 6-й, кажется, соответствует моему требованию больше всего
спасибо!