当前位置: 技术问答>java相关
String a="123"与String a=new String("123")出来的两个a,b之间有什么区别???
来源: 互联网 发布时间:2015-04-17
本文导语: 请问 String a="123" 与 String a=new String("123") 有什么区别??????? 也就是说下列程序为什么结果是 true; true; false; true; String a="123"; String b="123"; System.out.println(a==b); System.out.p...
请问
String a="123"
与
String a=new String("123")
有什么区别???????
也就是说下列程序为什么结果是
true;
true;
false;
true;
String a="123";
String b="123";
System.out.println(a==b);
System.out.println(a.equals(b));
String a1=new String("123");
String b1=new String("123");
System.out.println(a1==b1);
System.out.println(a1.equals(b1));
String a="123"
与
String a=new String("123")
有什么区别???????
也就是说下列程序为什么结果是
true;
true;
false;
true;
String a="123";
String b="123";
System.out.println(a==b);
System.out.println(a.equals(b));
String a1=new String("123");
String b1=new String("123");
System.out.println(a1==b1);
System.out.println(a1.equals(b1));
|
String a="123"; String b="123;
a 和 b 都指向常量“123“的地址
String a=new String("123"); b=new String("123");
a 和 b 开辟了各自的内存空间~~
a 和 b 都指向常量“123“的地址
String a=new String("123"); b=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
|
和c一样,new 操作也是分配一块内存。虽然java说他没有指针,但是java中的
许多数据类型都使用名字作为指针的,比如 String,Vector,Hashtable等
a==b是指内存位置相等
a.equles(b)是指变量内容相等
我曾经写过一段代码:
String a;
Vector v=new Vector();
for(i=0;i
许多数据类型都使用名字作为指针的,比如 String,Vector,Hashtable等
a==b是指内存位置相等
a.equles(b)是指变量内容相等
我曾经写过一段代码:
String a;
Vector v=new Vector();
for(i=0;i
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!