java 为什么值作为参数传递而不更新?

dgtucam1  于 2023-06-20  发布在  Java
关注(0)|答案(2)|浏览(127)

我的代码没有返回10!
a变量似乎没有更新!
为什么?

public static void main(String[] args)
        { 
        Integer a = 5;
        sum(a); 
        System.out.println(a);
        }

    static Integer sum(Integer b)
        {
        b=b+5; 
        return b;
        }
zf2sa74q

zf2sa74q1#

您没有将值sum(a)分配给a。函数sum不编辑传入参数的引用的值。您需要更新a的值,方法是这样做a = sum(a)

lf5gs5x2

lf5gs5x22#

您应该通过引用传递它。

public static void main(String[] args)
    { 
    Integer a = 5;
    sum(a); 
    System.out.println(a);
    }

static Integer sum(Integer &a)
    {
    a=a+5; 
    return a;
    }

现在它会工作。

相关问题