美文网首页程序员
java的String值传递还是引用传递

java的String值传递还是引用传递

作者: enjoycc97 | 来源:发表于2018-10-18 22:51 被阅读0次

java值传递还是引用传递

一般可以这样认为基础类型是值传递,而对象封装是引用传递

public static void main(String[] args) {
        ArrayList list =new ArrayList();
        list.add("1");
        test(list);
        System.out.println(list.size());
    }
    static void test(ArrayList list){
        list.clear();
     }

对于test。传入对象,以后都会操作这个对象,
可以认为修改后对象本身属性也会变化,所以这里面结果数组会清空,打印0

public static void main(String[] args) {
        int a=100;
        test(a);
        System.out.println(a);
    }
    static void test(int size){
        size=0;
     }

分析这里,值传递,本身存在不会影响参数,所以即使设置size=0,实际上是一份拷贝或者影子,所以这里打印结果仍然是100

public static void main(String[] args) {
        String str="777";
        test(str);
        System.out.println(str);
    }
    static void test(String str){
        str="666";
     }

这个例子比较奇怪,它按照这里解释应该是打印666的
实际上可以发现这是错误的。

相关文章

  • Java面试题疑难点

    1. java值传递和引用传递 String为什么是值传递而不是引用传递 答:String是final的

  • JAVA是按值传递还是按引用传递

    java中对象作为参数传递给一个方法,到底是值传递,还是引用传递? String和int参数传递是按值传递还是引用...

  • Day12-Java

    值传递和引用传递 值传递是值的拷贝, 引用传递是引用的拷贝 String 类型是引用类型, new String ...

  • [译] Java 值传递 VS 引用传递

    Java是值传递还是引用传递一直都有争论,我们最终下个结论,Java是值传递而不是引用传递。如果Java是引用传递...

  • java的String值传递还是引用传递

    java值传递还是引用传递 一般可以这样认为基础类型是值传递,而对象封装是引用传递 对于test。传入对象,以后都...

  • 聊聊Java内部类

    一.磨叽磨叽Java值传递与引用传递 “在Java里面参数传递都是按值传递”即:按值传递是传递的值的拷贝,按引用传...

  • 自整理3 值传递和引用传递

    java的值传递和引用传递 首先,由于java没有指针机制,所有java归根究底只有值传递,没有引用传递。java...

  • Java传参

    Java中传递参数,要么传递的是基本数据类型的值的副本,要么传递的是引用数据类型的引用(String类型属于引用数...

  • 快速区别值传递和引用传递

    复习Java知识的时候又看到值传递和引用传递的区别,然后就查询一下,结果都是Java到底是值传递还是引用传递之争,...

  • String是值传递还是引用传递

    String是值传递还是引用传递 今天上班时,同事发现了一个比较有意思的问题。他把一个String类型的参数传入方...

网友评论

    本文标题:java的String值传递还是引用传递

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