Я подозреваю, что у вас сложилось впечатление, что это:
setName = new Stack(setLength);
окажет некоторое влияние на аргумент, передаваемый вызывающей стороной.Не будетJava строго передается по значению, независимо от того, является ли это значение типом примитива или ссылкой.
Другими словами, если вы сделаете это:
Object foo = null;
METHOD_NAME(foo, 5);
, тогда foo
будетвсе еще будет null
впоследствии.
Я предлагаю вам вместо этого вернуть значение из вашего метода.Например:
public static Stack METHOD_NAME(Object setName, int setLength){
while(true) {
try {
return new Stack(setLength);
} catch (InstantiationException e){
System.err.println(e.getMessage());
SET_NUM(1);
}
}
}
Обратите внимание на возврат вместо разбивки на метку, и while(true)
, который я считаю более читабельным, чем for (; ;)
.