标签:字符 常量池 bsp 内存 str strong 基础 就是 方式
(1)String str1=new String("A"+"B") ; 会创建几个对象 ?
如果以 String str1=“ab"这种方式创建字符串,则只产生一个对象,即字符串常量池中的"ab”,栈中的str中存储着直接指向字符串常量池中的"ab"的地址值。
如果以String str2=“a”+“b”;这种方式创建字符串,同样是只产生一个对象,java在编译时会将a,b,c自动转换成abc,而不会经过拼接的过程,也就是说str1=str2
(2)String str2=new String("ABC") +"ABC"; 会创建几个对象?
标签:字符 常量池 bsp 内存 str strong 基础 就是 方式
原文地址:https://www.cnblogs.com/ly0426/p/13970190.html