将StringBuilder对象转换为String对象并输出

291 查看

能解释一下为什么要这样转换?

// 将StringBuilder对象转换为String对象并输出 System.out.print(str.toString()); System.out.print(str); 两者的输出结果一样的

解释:println(str)只是输出字符串内容而已!字符串具有不可变性,你改变内容就会创建新对象,但你频繁修改字符串时候,可能会有内存泄漏的风险,StringBuilder类是为频繁修改字符串操作而提供的类,所以需要将String类型传入StringBuilder进行安全修改,print(str.toString())在转回String类型,这样此次修改的字符串对象就不会创建新对象了!