Я забыл какую-то концепцию Java.

PaymentData payment = basket.getPaymentData(); 
PaymentData newPayment =  payment;
basket.unMaskCreditCardNumbers(payment);
basket.maskCreditCardNumbers(payment);

Здесь проблема заключается в том, что когда демаскируется объект payment, объект newPayment также демаскируется. если я маскирую объект платежа, новый объект платежа снова маскируется.

Произошло ли это "объект по ссылке"?

Спасибо

0
Chandana 9 Май 2011 в 08:03

3 ответа

Лучший ответ

В Java все передается по значению, это означает, что в вашем случае ссылка копируется из payment в newPayment.

3
Umesh K 9 Май 2011 в 08:08

Да. И payment, и newPayment являются ссылками / указывающими на один и тот же объект.

3
mbreining 9 Май 2011 в 08:08

Нет, это ссылка на объект по значению.

0
user207421 9 Май 2011 в 08:57