java值传递与引用传递

看代码:

  

import java.lang.reflect.Field;

public class Test {

    public static void main(String[] args) {
        Integer a=1000;
        Integer b=890;
        System.out.println("a="+a+",b="+b);
        swap(a,b);
        System.out.println("a="+a+",b="+b);
    }
    private static void swap(Integer a,Integer b){
        try {
            int tempA=b.intValue();
            int tempB=a.intValue();
            Field field=Integer.class.getDeclaredField("value");
            field.setAccessible(true);
            field.setInt(a, tempA);
            field.setInt(b, tempB);
            System.out.println("a="+tempA+",b="+tempB);
            
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
}

 

查看详细链接:https://dailycast.github.io/Java-%E5%BD%A2%E5%8F%82%E4%B8%8E%E5%AE%9E%E5%8F%82/?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

 

posted @ 2017-11-29 15:30  全力以赴001  阅读(167)  评论(0编辑  收藏  举报