Я испытываю странное поведение с использованием java-метода внутри класса EJB.Целочисленный объект правильно создан внутри метода, но возвращается null
У меня есть несколько Integer
, заявил следующее:
Integer decimalDigit = null;
Integer decimalExponent = null;
я передать их следующим способом, наряду с другими параметрами.
public void GetPrecision(Currency cur, String nodeCode, Integer decimalDigit, Integer decimalExponent) {
decimalDigit = new Integer(cur.getDecimalDigit());
decimalExponent = new Integer(cur.getDecimalExponent());
if (!CommonHelper.isNullOrEmptyOrBlank(nodeCode)) {
Node tempNode = nodeListProvider.getNodeList().get(nodeCode);
if (tempNode != null && tempNode.getDecimalDigit() != null) {
decimalDigit = (int) tempNode.getDecimalDigit();
decimalExponent = 0;
}
}
}
В 2 объекта правильно istantiated внутри метода с использованием нового оператора, и они остаются так до конца вызова, но, как только я выйти, то 2 переменные снова нуль.
Я не могу объяснить это поведение, любой намек?
Заранее спасибо
Java передается по значению. Изменения, внесенные в переданный фактический параметр, не сохраняются при выходе метода. –
Возможный дубликат [Является ли Java «передачей по ссылке» или «передачей по значению»?] (Http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass -by-value) – Deltharis