zoukankan      html  css  js  c++  java
  • java引用地址传递的实例

    面试中好多次都遇到这样的问题,今天终于搞懂了...

    class Test03 {
        public static void main(String[] args) {
            StringBuffer s = new StringBuffer("good");
            StringBuffer s2 = new StringBuffer("bad");
            test(s, s2);
            System.out.println(s);// goodhah
            System.out.println(s2);// bad  
        }

        static void test(StringBuffer s, StringBuffer s2) { // 此时会在方法栈中新建引用,但指向同一内存地址
            System.out.println(s);// good
            System.out.println(s2);// bad
            //s2跟传进来的s2是两个对象,此时的s2就跟s指向的是一样的,所以在改变此时的s2或者改变s的时候也改变了s的值,而传进来的s2是没有改变的
            s2 = s;
            s = new StringBuffer("new");
            System.out.println(s);// new
            System.out.println(s2);// good
            //s.append("hah");
            s2.append("hah");
        }
    }

  • 相关阅读:
    EveryOne Piano
    3D扫描商店
    Substance PBR Guide
    C2GOASM
    Unity调试外部DLL
    BinaryReader优化
    IL
    如何画头发
    Bitrix24
    Mac查找包含指定字符串的文件
  • 原文地址:https://www.cnblogs.com/working/p/3282765.html
Copyright © 2011-2022 走看看