美文网首页GISer在Java开发路上的摸爬滚打
引用类型与引用传递(Java中如何实现类似于C#中的out类型参

引用类型与引用传递(Java中如何实现类似于C#中的out类型参

作者: OQOooo | 来源:发表于2022-06-08 16:09 被阅读0次

    说个简单就能实现的结果吧…

    使用数组等对象是可以达到类似c#中out类型的效果的

    BUT

    并非只要传递的数据是引用类型就是引用传递

    补点概念

    值传递

    是指在调用函数时,将实际参数复制一份传递给函数,这样在函数中修改参数时,不会影响到实际参数。

    引用传递

    是指在调用函数时,将实际参数的地址传递给函数,这样在函数中对参数的修改,将影响到实际参数。

    注意!

    一般来讲,只有修改的值是与传进来的参数的地址相同的参数的值才是引用传递,而只有采用引用传递的类型的数据才能达到和c#中out修饰类型同样的效果。


    举个例子应该就明白了

    示例

    代码

    public static void main(String[] args) {
            String[] strArr={"张三"};
            System.out.println(strArr[0]);
            changeValue(strArr);
            System.out.println(strArr[0]);
            System.out.println("=========================");
            System.out.println(strArr[0]);
            changeValue2(strArr);
            System.out.println(strArr[0]);
    
        }
    
        private static void changeValue2(String[] strArr) {
            String[] strArr2={"李四"};
            strArr[0]=strArr2[0];
        }
    
        private static void changeValue(String[] strArr) {
            String[] strArr2={"李四"};
            strArr=strArr2;
        }
    

    输出结果

    张三
    张三
    =========================
    张三
    李四
    
    image.png

    相关文章

      网友评论

        本文标题:引用类型与引用传递(Java中如何实现类似于C#中的out类型参

        本文链接:https://www.haomeiwen.com/subject/wlvumrtx.html