数组传递的是referrence,而不是object

public class TestArrayMemory...{
  public static void main(String[] args)...{
    A a = new A();
    System.out.println("A's sbs[0] = " + a.getSbs(0));
    StringBuffer sb = a.getSbs()[0];
    StringBuffer sb2 = a.getSbs(0);
    System.out.println("sb = " + sb);
    System.out.println("sb2 = " + sb2);
    a.setSbs(0, "def");
    System.out.println("A's sbs[0] = " + a.getSbs(0));
    System.out.println("sb = " + sb);
    System.out.println("sb2 = " + sb2);
  }

}

class A...{
  
  private StringBuffer[] sbs;
  private int len = 2;

  public A()...{
    sbs = new StringBuffer[len];
    for(int i = 0; i<len; i++)...{
      sbs[i] = new StringBuffer("abcd");
    }
  }

  public void setSbs(int index, String str)...{
    sbs[index].append(str);
  }

  public StringBuffer getSbs(int index)...{
    return sbs[index];
  }
  
  public StringBuffer[] getSbs()...{
    return sbs;
  }
}

result:

A's sbs[0] = abcd
sb = abcd
sb2 = abcd
A's sbs[0] = abcddef
sb = abcddef
sb2 = abcddef

数组传递的是referrence,而不是object相关推荐

  1. c中将数组传递给子函数_在C ++中将对象传递给Non-Member函数

    c中将数组传递给子函数 Here, we have to define a Non-Member Function, in which we have to pass an Object to the ...

  2. js二维数组传递java,ActiveX获取JavaScript传递的二维数组

    此文参考了http://blog.csdn.net/playstudy/article/details/8259737,在此基础上做了改进 // WebDlg.idl : WebDlg 的 IDL 源 ...

  3. C语言中的引用,以及传递引用,数组传递

    很多初学者不理解为什么C语言中用数组名作为参数能改变实参数组的值,现在来谈谈我的理解. 先来预热一下. 把实参数组传递给函数,则形参从数组哪里得到了其实地址,因此数组与实参数组共占了同一段内存单元,在 ...

  4. java 数组传递是引用吗_数组是通过值传递还是通过Java引用传递?

    本问题已经有最佳答案,请猛点这里访问. Possible Duplicate: Is Java"pass-by-reference"? 数组不是Java中的原始类型,但它们也不是对 ...

  5. 传递数组_Fortran:派生数组与数组传递进子程序耗费时间比较

    在优化程序的过程中发现其中存在大量的派生类型变量(type),同时发现Fortran子程序可以接受type类型数组中元素,即将type类型中元素当作独立的数组传递.传递过程如下所示: ... type ...

  6. 使用WHERE子句将数组传递给查询

    本文翻译自:Passing an array to a query using a WHERE clause Given an array of ids $galleries = array(1,2, ...

  7. Java层与Jni层的数组传递(转)

    源:Java层与Jni层的数组传递 Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的S ...

  8. C语言 数组传递与值传递讲解

    在普通变量或下标变量作函数参数时,形参变量和实参变量是由编译系统分配的两个不同的内存单元.在函数调用时发生的值传送是把实参变量的值赋予形参变量.在用数组名作函数参数时,不是进行值的传送,即不是把实参数 ...

  9. ajax传数组到php页面上,将ajax中的元素值和数组传递到PHP页面

    我正在建立一个像这样的数组: $('.el').each(function(e) { arr.push({ date: $(this).data('date'), roomid : $(this).d ...

最新文章

  1. Leetcode 50. Pow(x, n)
  2. 一文读懂机器学习中的正则化
  3. 20 年坚守,不忘初心!一封来自程序员的感谢信!
  4. Leetcode 59. 螺旋矩阵 II (每日一题 20210926)
  5. 如何ALL IN一场技术大会?
  6. P4619 [SDOI2018]旧试题
  7. oracle数据库安装提示M,Python第13课:oracle数据库的安装
  8. latex 基本用法(五)
  9. Alert提示框插件
  10. Zabbix3.2.9使用Mojo-Webqq 实现QQ群消息实现告警
  11. 本页设置mac地址过滤来控制计算机对本无线网络的访问,D-Link无线路由器MAC地址过滤怎么设置...
  12. 如何判断一个数是素数(质数)
  13. win10如何删除计算机用户,Win10系统如何删除账户?Win10系统删除账户的方法
  14. 学习笔记:用冲激函数的傅里叶变换求阶跃函数的傅里叶变换
  15. Laravel 留言评论功能
  16. 【Uplift】因果推断基础篇
  17. error: expected unqualified-id before 'xxx'
  18. 午夜分享女人的绝对隐私
  19. php中strtotime与mktime的Y2K38漏洞(时间最长为2038年)
  20. Appium 关于 swipe 滑动时间控件选择时间问题,swipe 滑动没效果,用 TouchAction代替

热门文章

  1. 基于多目标优化算法的 LCOE电力成本的敏感性分析(Matlab代码实现)
  2. uniapp实现当行多图片点击预览
  3. 复变函数第三章-复变函数的积分
  4. 电脑知识与技术社内直收8月刊低价邀代理·第10卷第20期目录参考
  5. selenium方法~设置为无头模式
  6. 基于S3C2440的Linux-3.6.6移植——声卡驱动
  7. 针对东北老公马俊打上海老婆黄佳的看法
  8. Nacos使用(四)
  9. 圣杯布局详解--浮动
  10. 多台电脑共享鼠标键盘软件