这两个陈述之间有什么区别?
String s = "text";
String s = new String("text");
Run Code Online (Sandbox Code Playgroud) 我无法识别以下Java中的字符串声明的区别.
假设我有两个字符串
String str1="one";
String str2="two";
Run Code Online (Sandbox Code Playgroud)
有什么区别
String str3=new String(str1+str2);
Run Code Online (Sandbox Code Playgroud)
和
String str3=str1+str2;
Run Code Online (Sandbox Code Playgroud)
在上述两个声明中,内容都str3将是onetwo.
假设我创建了一个新字符串
String str4="onetwo";
Run Code Online (Sandbox Code Playgroud)
然后,在上述声明中,
if(str4==str3) {
System.out.println("This is not executed");
}
Run Code Online (Sandbox Code Playgroud)
为什么str3而str4不是指同一个对象?