String和StringBuilder作为方法的参数在内存中有什么不同?

一个正在努力的刘小白 2020-07-16 02:19:09

public static void main(String[] args) {
StringBuilder sb = new StringBuilder("abc");
update(sb);
System.out.println(sb);

}
public static void update(StringBuilder sb) {
sb = new StringBuilder("xyz");
System.out.println(sb);
}




public static void main(String[] args) {
String str="a,b,c";
update(str);
System.out.println(str);
}
public static void update(String str) {
String str="x,y,z"
System.out.println(str);
}
...全文
2320 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
烟花散尽13141 2020-07-17
  • 打赏
  • 举报
回复
如果单从内存角度看 String是不可改变的。每次实际上都是一个新的对象。不过正常String a = "213" 这样都是引用线程池 堆内存的开销也还好 但是如果String a = new String("123") 这样就很浪费内存。推荐StringBuilder
maradona1984 2020-07-16
  • 打赏
  • 举报
回复
没啥区别,你可以简单的理解String和StringBuilder的区别大致等于数组和集合的区别

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧