欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

String StringBuilder StringBuffer的区别和应用场景

程序员文章站 2022-04-19 17:37:25
...

String 适用于操作数据量较小的情况,且每次操作都会产生新的对象
StringBuilder 是线程不安全的,但效率相对较高。比较常用的应用场景是sql的拼接
举例说明

select * from tb_user where user_id in(11,22,44)

如果方法传入的是一个list集合,拼接这个sql就要用到以下操作

String baseSql=" select * from tb_user where user_id in"
StringBuilder stb=new StringBuilder("");
stb.aqqpend("c");
foreach(Integer i:list){
stb.append(i,",")
}
stb.deleteCharAt(stb.length-1)//把最后一个逗号删掉
stb.append(")")
baseSql=baseSql+stb.toString()

StringBuffer 线程安全。运行效率相对较低
String初始值可以为Null StringBuffer不可以

相关标签: java基础 java