String a="123"与String a=new String("123")出来的两个a,b之间有什么区别??? "System.out.println(a1==b1);" is false is because a1 and b1 are not the some objects though they have same value 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 和c一样,new 操作也是分配一块内存。虽然java说他没有指针,但是java中的许多数据类型都使用名字作为指针的,比如 String,Vector,Hashtable等a==b是指内存位置相等a.equles(b)是指变量内容相等我曾经写过一段代码:String a;Vector v=new Vector();for(i=0;i<5;i++){ a=""+i; v.addElement(a);}如果你把v中的东西取出来看的话,发现都是5为什么?就是因为没有用a=new String(""+i);v中所存的地址都是一个不知我这么说你能明白吗 String a="123"; String b="123;a 和 b 都指向常量“123“的地址String a=new String("123"); b=new String("123"); a 和 b 开辟了各自的内存空间~~ String a="123"; String b="123";System.out.println(a==b); 为true,我觉得此时a和b不应该是地址,而应是地址中所指向的内容String a1=new String("123"); String b1=new String("123");System.out.println(a1==b1);为false,此时的a和b才是不同的地址,指向各自新创建的空间 to 楼上 a和b当然是地址~~ 参数传值传的是个副本,如何理解? 未结束的字符串字面值 Java HashMap中的一个奇怪内部类,有人研究过吗? 生成XML的怪问题,高手请进 怎样做一个月历 sqlexplorer 插件在eclipse中无法显示 送20分,怎么看可用分 请问如何调用组件dll,把里面的组件加在java窗体上? 高分急救!!!!!!!!!!!!!!!! 帮下我看下这2道简单的算法,小妹在这里感谢各位了,在线等!!! 如何建立通过代理来访问的URL? 产生异常的原因?
许多数据类型都使用名字作为指针的,比如 String,Vector,Hashtable等
a==b是指内存位置相等
a.equles(b)是指变量内容相等我曾经写过一段代码:
String a;
Vector v=new Vector();
for(i=0;i<5;i++)
{
a=""+i;
v.addElement(a);
}
如果你把v中的东西取出来看的话,发现都是5
为什么?就是因为没有用a=new String(""+i);
v中所存的地址都是一个不知我这么说你能明白吗
a 和 b 都指向常量“123“的地址String a=new String("123"); b=new String("123");
a 和 b 开辟了各自的内存空间~~
String b="123";
System.out.println(a==b);
为true,我觉得此时a和b不应该是地址,而应是地址中所指向的内容String a1=new String("123");
String b1=new String("123");
System.out.println(a1==b1);
为false,此时的a和b才是不同的地址,指向各自新创建的空间
a和b当然是地址~~