Итак, я только начал изучать Java, и я обнаружил, что нет такой вещи, как "пройти по ссылке". Я переношу приложение с С# на Java, а исходное приложение имеет int и double, которые являются параметрами "ref" или "out".
Сначала мне показалось, что я могу передать "Integer" или "Double", и поскольку это был тип Reference, значение было бы изменено. Но потом я узнал, что эти ссылочные типы неизменяемы.
Итак, тогда я создал класс "MutableInteger" и класс "MutableDouble", и я передал их в свои функции. Это работает, но я предполагаю, что я должен идти против первоначальных дизайнерских намерений языка.
Является ли "pass by reference" вообще плохим дизайном? Как мне изменить свой образ мышления?
Кажется разумным иметь такую функцию:
bool MyClass::changeMyAandB(ref int a, ref int b)
{
// perform some computation on a and b here
if (success)
return true;
else return false;
}
Это плохой дизайн?