首页 > > > 关于java声明变量分配空间的问题,
关于java声明变量分配空间的问题,或者是方法调用实参形参的问题
图片好像不能上传,附上代码,同样的方式调用方法,同样的方式递归,为什么打印的值不相同?
public class Recursion {
public static void main(String[] args) {
Recursion recursion = new Recursion();
List<Long> list = new ArrayList<Long>();
Long num = null;
recursion.recursionFunction_1(5L, list);
recursion.recursionFunction_2(5L, num);
System.out.println("recursionFunction_1:" + list.get(0));
System.out.println("recursionFunction_2:" + num);
}
private void recursionFunction_1(Long i, List<Long> list) {
i--;
if (i == 0) {
list.add(i);
} else {
recursionFunction_1(i, list);
}
}
private void recursionFunction_2(Long i, Long num) {
i--;
if (i == 0) {
num = i;
} else {
recursionFunction_2(i, num);
}
}
}来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2508/viewspace-3136475/ ,如需转载,请注明出处,否则将追究法律责任。