zoukankan      html  css  js  c++  java
  • java基础——值传递和应用传递

    public class StringTest {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    StringBuffer a = new StringBuffer("A");
    StringBuffer b = new StringBuffer("B");
    operate(a,b);
    System.out.println(a.toString() + "," + b);
    }

    static void operate(StringBuffer x, StringBuffer y) {
    // TODO Auto-generated method stub
    y.append(x);
    // System.out.println("=============");
    // System.out.println("y=:"+y+"这是传入的b");
    // System.out.println("x=:"+x+"这是传入的a");
    y = x;
    // System.out.println(y = x);
    // System.out.println("-------------");
    // System.out.println("y=:"+y);
    // System.out.println("x=:"+x);
    // System.out.println("=============");
    }

    }

    结果:A,BA

      比如string a=A这里字符"A"会开辟一个物理地址来储"A"这个值,引用a也会开辟一个物理地址用来存放字符"A"存储的所在地址。当你用string b = a来赋值的时候,是把a的物理地址传递给b而不是字符"A"的地址。这时候改变b引用的内容,丝毫不会影响到a引用的内容。然后方法结束后这两个临时的变量a和b都被抛弃了,这丝毫不会改变y所引用的对象。

  • 相关阅读:
    2、函数
    二者取其一(初遇)_网络流
    P1879 [USACO06NOV]玉米田Corn Fields
    P2831 愤怒的小鸟
    P2296 寻找道路
    序(不知道是什么时候的模拟题)
    P2243 电路维修
    P1273 有线电视网
    P2613 【模板】有理数取余
    P1373 小a和uim之大逃离
  • 原文地址:https://www.cnblogs.com/0914lx/p/6483691.html
Copyright © 2011-2022 走看看