数组传递的是referrence,而不是object
来源:互联网 发布:瘦水肿腿 知乎 编辑:程序博客网 时间:2024/05/16 11:21
数组传递的是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;
}
}
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
- 为什么输出是String而不是Object
- ajax在firxfox下获得是 object xmlDocument而不是后台输送来的值的解决办法
- Effective JavaScript Item 46 优先使用数组而不是Object类型来表示有顺序的集合
- ECMAScript中函数传递的参数是object的话,是按值传递还是按引用传递?
- 如何通过形参传递数组,而不是数组指针
- Object中的clone为什么是protected,而不是public?
- Java中安卓开发的webservice传递到客户端是List<Map<Object, Object>>的处理方式
- leetcode 303----sizeof指的是指针的大小而不是数组的大小!
- 对不变的data和object references 使用final(注意这里指的是references而不是对象)
- pval是int*类型而不是int数组类型的左值----理解
- error:sort()的第一个第二个参数是地址,而不是数组元素
- 为什么servlet从请求得到的cookies是一个数组而不是一个cookie
- 为什么Java中的HashMap<K, V>的get函数是get(Object key),而不是get(K key)?
- String[]的直接父类就是Object而不是Object[]
- request.getParameterMap()返回的value是Object[],数组
- 数组作为参数传递,是地址的传递,不是值传递。
- 为什么崛起的是日本而不是中国
- 企业无线网络解决方案集
- AIX比较全的FAQ
- 让人喷血的糗人糗事大全!偷偷看,别笑出声哦!
- 内置宏__LINE__,__FILE__
- 开博了,开博了!!
- 数组传递的是referrence,而不是object
- IT人士群聚喝酒的讲究
- Linux操作系统下文件系统的比较和选择
- [笔记/简译]WPF的新特性——路由事件(1)
- 入门也流行简单 最简单的Spring入门示例[转]
- 案例4-3 Ajax的响应处理简单实例(征服Ajax——Web 2.0快速入门与项目实践Java)
- 卜算子·樱(芳乃さくら)
- 三年
- [原创]常见排序算法 JS 版