能解释一下为什么要这样转换? // 将StringBuilder对象转换为String对象并输出 System.out.print(str.toString()); System.out.print(str); 两者的输出结果一样的
个人感觉太假了吧,如果你在项目中要把字符串处理完存入一个Map<String,String>,你不转承String类型怎么存进去
个人感觉这里toString()也是多余的,不过要自己要多留意用toString()来保存想要保存的目标字符串,提高内存利用率
println(str)只是输出字符串内容而已!字符串是不变对象,你改变内容就会创建新对象,但你频繁修改字符串时候,可能会有内存泄漏的风险,StringBuilder类是为频繁修改字符串操作而提供的类,所以需要将String类型传入StringBuilder进行安全修改,print(str.toString())在转回String类型,这样此次修改的字符串对象就不会创建新对象了!处女答啊~