源码

Java:为什么这种交换方法不起作用?


参见英文答案 > Is Java “pass-by-reference” or “pass-by-value”?????????????????????????????????????82个
我有以下代码:

public class Main {

    static void swap (Integer x, Integer y) {
        Integer t = x;
        x = y;
        y = t;
    }

    public static void main(String[] args) {
       Integer a = 1;
       Integer b = 2;
       swap(a, b);
       System.out.println("a=" + a + " b=" + b);
    } 
}

我希望它打印a = 2 b = 1,但它打印相反.显然交换方法不会交换a和b值.为什么?

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/javaweishenmezhezhongjiaohuanfangfabuqizuoyong.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:9月 26, 2019 at 09:35 上午

热评文章