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不可以
推荐阅读
-
String、StringBuffer和StringBuilder区别
-
深入解析StringBuffer和StringBuilder的区别
-
浅谈Java中BIO、NIO和AIO的区别和应用场景
-
深入解析StringBuffer和StringBuilder的区别
-
C#中String和StringBuilder的简介与区别
-
C#中StringBuilder用法以及和String的区别分析
-
C#中String和StringBuilder的简介与区别
-
C#中StringBuilder用法以及和String的区别分析
-
Java之String、StringBuffer、StringBuilder的区别分析
-
String、StringBuffer和StringBuilder类的区别