StringBuffer问题 y=x;这一句没有任何意义,这只是改变了局部变量的指向,并没有修改哪一个对象,所以对外部无影响。而且永远不要对局部变量进行赋值操作(如a = b),尽量不要修改局部变量的值(如a++),除非你200%地清楚你在干什么,并且这样做非常必要。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public static void operator(StringBuffer x,StringBuffer y){ // x 的拷贝变为了AB,x 的拷贝和x 指向同一个内存地址,所以x 变为了AB x.append(y); // y 的拷贝指向了x 的拷贝的地址,也就是x 的地址,那么y 的拷贝将不再影响y 的指向 // 所以 y 的值依然为B y=x; }记着一点就行了,java传递的是拷贝,在方法内改变了拷贝的指向,那么后面做的任何事情都不影响原值了如果在 y=x; 后再添加一行 y.append("hello"); 那么a 的值就变为 ABhello 了 java中只有传值,后面的y=x 相当于y引用了x的位置 但没有改变值 我是这样理解的:public class Foo { public static void main(String[] args) { StringBuffer a=new StringBuffer("A"); //开辟一块内存 id=21 StringBuffer b=new StringBuffer("B"); //开辟一块内存 id=25 operator(a,b); System.out.println(a+","+b); //打印出来内容是 内存地址的存放内容 } //注意了。id21,id25两个StringBuffer传过来 public static void operator(StringBuffer x,StringBuffer y){ x.append(y); //这个操作,id21的值变成了‘AB’ // y.append(x); 在y=x既是改变y的id之前,你试试 ,输出不一样哦 y=x; //这个操作,把y的id由id25变成id21,之后操作y也不会改变id25的值 // y.append(x); 在y=x既是改变y的id之后,你试试 ,输出不一样哦 }}建议:多理解基础,这都是原理的东西 Drools产生内存溢出 请问高人在html中div把iframe盖住了怎么解决? java字符(字符串)转十六进制问题 使用 spring ,hibernate 并发读取修改数据时,同步无效,求解决办法 JDBC提交sql语句出现乱码,请帮分析下 Java同时连接mysql和oracle 该面试了,各位大哥大姐们给点面试题和面试经验吧,谢谢了!!呵呵 java中如何判断调用一个方未能的对像来自那个类? 急问,请问哪位用过这些工具? interidea 中的问题 SSH分页查询问题 hibenate 实体类中的集合属性问题
public static void operator(StringBuffer x,StringBuffer y){
// x 的拷贝变为了AB,x 的拷贝和x 指向同一个内存地址,所以x 变为了AB
x.append(y);
// y 的拷贝指向了x 的拷贝的地址,也就是x 的地址,那么y 的拷贝将不再影响y 的指向
// 所以 y 的值依然为B
y=x;
}
记着一点就行了,java传递的是拷贝,在方法内改变了拷贝的指向,那么后面做的任何事情都不影响原值了
如果在 y=x; 后再添加一行 y.append("hello"); 那么a 的值就变为 ABhello 了
public class Foo {
public static void main(String[] args) {
StringBuffer a=new StringBuffer("A"); //开辟一块内存 id=21
StringBuffer b=new StringBuffer("B"); //开辟一块内存 id=25
operator(a,b);
System.out.println(a+","+b); //打印出来内容是 内存地址的存放内容
}
//注意了。id21,id25两个StringBuffer传过来
public static void operator(StringBuffer x,StringBuffer y){
x.append(y); //这个操作,id21的值变成了‘AB’
// y.append(x); 在y=x既是改变y的id之前,你试试 ,输出不一样哦
y=x; //这个操作,把y的id由id25变成id21,之后操作y也不会改变id25的值
// y.append(x); 在y=x既是改变y的id之后,你试试 ,输出不一样哦
}
}建议:多理解基础,这都是原理的东西