Java常用API:StringBuilder、StringBuffer、StringJoiner

StringBuilder的几个常用的API

java 复制代码
StringBuilder s =new StringBuilder("111");//111
//1.拼接内容
s.append(12);
s.append("11");
s.append(true);

//2.支持链式编程
s.append(12).append("11").append(true);//输出是1211true
//3.反转操作
s.reverse();//反转后输出是 eurt1121

使用StringBuilder的好处,如果用String的话当这个循环足够大时,此时需要等待的时间也会很长。但是用StringBuilder此时就会很快速的得到结果。

StringBuffer与StringBuilder的区别

如果多用户共同使用这个StringBuilder时是不安全。

例子:设计一个方法,用于返回任意整型数组的内容,要求返回的数组内容格式如:[11,22,33]

java 复制代码
public static String getArrayData(int[] arr){
//1、判断arr是否为null
if(arr == null){
return null;
}
// 2、arr数组对象存在。arr = [11,22,33]
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++){
if(i == arr.length - 1){
sb.append(arr[i]);}
else {
sb.append(arr[i]).append(",");
}
}
sb.append(" ]");
return sb.toString();

StringJoiner



此时上面的案例就会更加简单了

因为这个是字符串类型的,所有遍历后 要+"" 改成字符串类型。最后要用s.toString()变成字符串

相关推荐
Grey Zeng10 小时前
Java SE 25新增特性
java·jdk·jdk新特性·jdk25
雨白11 小时前
Java 线程通信基础:interrupt、wait 和 notifyAll 详解
android·java
架构师沉默15 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群17 小时前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL18 小时前
JVM 类加载:双亲委派机制
java·后端
用户2986985301418 小时前
Java HTML 转 Word 完整指南
java·后端
渣哥19 小时前
原来公平锁和非公平锁差别这么大
java
渣哥19 小时前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K19 小时前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty72519 小时前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构