关于String
String s1="N";s1="n";
String s2=new String("H");
s2="h";
其中s1和s2有什么区别??
搜索更多相关的解决方案:
String
----------------解决方案--------------------------------------------------------
两个不同对象,这就是区别
----------------解决方案--------------------------------------------------------
我问的不是这个;
我记得在一本书上看过这两种类型在处理equals()或"=="运算时
有区别的,好像要涉及储存池,trim()什么的,但是我不是很懂,不知道谁会?
----------------解决方案--------------------------------------------------------
如果是直接赋值的,就存在常量池里面
比如
String a="test";
String b="test";
这个时候, a==b是返回 true的
如果String b=new String("test");
这个时候,a==b就返回false了
----------------解决方案--------------------------------------------------------
既然是在常量池中,那又为什么是可改的?
----------------解决方案--------------------------------------------------------
谁说可以改?
你只能把你的引用指向别的地方,"test"这个字符串是不可能被更改的
String a="test";
String b=a;
b="other";
这个时候,a指向的还是test
----------------解决方案--------------------------------------------------------
月经帖
----------------解决方案--------------------------------------------------------