兄弟们,我有一个世纪难题【java吧】_百度贴吧 (baidu.com)
public static void main(String[] args){
String a="Hello";
String b="sss";
String c=a+b;
String d="Hellosss";
System.out.println(c==d)//false
}
==:比较的是两个字符串内存地址的数值是否相等,属于数值比较;
equals():比较的是两个字符串的内容,属于内容比较。
以后进行字符串相等判断的时候都使用equals()。
“==”与equal的区别具体可从下面链接了解
java 中“==”与“equal” 的区别_Kunaly的博客-优快云博客_equal
a+b变量相加在底层为
new StringBuilder().append(a).append(b).toString()
new StringBuilder().append(a).append(b).tostring()
1、new StringBuilder()创建一个可变字符串对象。
2、append(a)将字符串a追加到对象中。同理b
3、将可变字符串对象转为字符串。
请问java中new StringBuilder().append(a).tostring是什么意思呢-Java-优快云问答
JVM常量池相关知识
JVM 常量池中存储的是对象还是引用呢? - 淇妙小屋的回答 - 知乎 https://www.zhihu.com/question/57109429/answer/2412147473