java替换字符串中的某个字符 java中String new和直接赋值的区别?

java中String new和直接赋值的区别?首先,Java虚拟机分为堆区、堆栈区、代码区和数据区来创建对象。当执行string STR=new string(“SS”)时,一个内存块被分配给堆区域

java中String new和直接赋值的区别?

首先,Java虚拟机分为堆区、堆栈区、代码区和数据区来创建对象。当执行string STR=new string(“SS”)时,一个内存块被分配给堆区域中的STR,内容是SS。同时,在栈区会有一个引用STR的例子:以QQ为例,桌面上的QQ快捷方式不是QQ.exe位置像把手QQ.exe如果该位置被视为堆区域,则桌面快捷方式位于堆栈区域。原理是添加这样一个点:String STR=new String(“SS”)String s=“SS”String t=ssSystem.out.println文件(str==s)系统输出打印(str==t)系统输出prtintln(s=t)输出为假、假、真。还有恒定池的概念。新字符串()不经过常量池。如果你想了解更多,请留言