首页 新闻 会员 周边

关于java声明变量分配空间的问题,或者是方法调用实参形参的问题

0
[已解决问题] 解决于 2018-04-22 07:51

图片好像不能上传,附上代码,同样的方式调用方法,同样的方式递归,为什么打印的值不相同?


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);
        }
    }
}

 


        
BenMario的主页 BenMario | 菜鸟二级 | 园豆:204
提问于:2018-04-21 02:06
< >
分享
最佳答案
0

这篇博客有详细的说明,本质是关于传参的,基本类型赋值的一些知识。

http://www.cnblogs.com/ben-mario/p/8905522.html

BenMario | 菜鸟二级 |园豆:204 | 2018-04-22 07:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册