Java-对替换的字符串进行赋值或打印

Java-对替换的字符串进行赋值或打印,java,printing,heap-memory,Java,Printing,Heap Memory,这两者之间有区别吗: String str1 = "abcabc"; String str2 = str1.replaceAll("a", ""); System.out.print(str2); 及 就使用的内存而言,或者换句话说,print方法是否会在堆中为新字符串创建内存 str1.replaceAll("a", "") 返回一个新的字符串实例。所以“是的”,它确实在堆上创建了它,&“是的”,它们是相同的。(说内存)不,当您调用replaceAll()时会发生这种情况。它们之间没有区别

这两者之间有区别吗:

String str1 = "abcabc";
String str2 = str1.replaceAll("a", "");
System.out.print(str2);

就使用的内存而言,或者换句话说,print方法是否会在堆中为新字符串创建内存

str1.replaceAll("a", "")

返回一个新的
字符串
实例。所以“是的”,它确实在堆上创建了它,&“是的”,它们是相同的。(说内存)

不,当您调用
replaceAll()
时会发生这种情况。它们之间没有区别
str1.replaceAll("a", "")