方法的引用传递地址值是不会被改变的

java中的方法用数组做引用传递的时候,是叫引用传递,会改变什么,不会改变什么呢?
方法的引用传递,其实地址值是不会被改变的,可以改变堆里面的元素值或者字段值。
举个栗子:
···
public class BiaoTest02 {

public static int[] resove(int[] arr){
    int[] newarr = new int[arr.length];
    for (int i = newarr.length - 1; i >= 0 ; i--) {
        newarr[newarr.length - 1 - i] = arr[i];
    }
    //print(newarr);
    System.out.println("1111---"+arr);
    arr=newarr;
    System.out.println("2----"+arr);
    arr[3] = 10;
    print(arr);
    return arr;
}
 
public static void print(int[] arr){
    for (int i = 0; i < arr.length; i++) {
        System.out.print(arr[i]+", ");
    }
    System.out.println();
}

public static void main(String[] args) {
    int[] arr = new int[]{1,2,3,5,4,6};
    int[] ne = resove(arr);
    print(arr);
    System.out.println("3---"+arr);
    System.out.println(ne);
}

}
···
这个栗子可以用来证明引用传递的地址值是不会改变的。

来源:
http://bbs.520it.com/forum.php?mod=viewthread&tid=1641

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容