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()变成字符串

相关推荐
唐青枫1 分钟前
Java Maven 实战指南:从 POM、依赖管理到多模块构建
java
硕风和炜11 分钟前
【LeetCode: 1301. 最大得分的路径数目 + DP】
java·算法·leetcode·动态规划·dp·记忆化搜索
SamDeepThinking22 分钟前
面向对象真正管理的,不是对象,而是依赖
java·后端·程序员
努力中的编程者32 分钟前
STL-vector的模拟实现
开发语言·c++·算法·stl·vector
薛定猫AI1 小时前
【深度解析】GLM-5.2 与 Z-Code:AI 编程智能体的原理拆解与 Python 调用实战
开发语言·人工智能·python
没文化的阿浩1 小时前
【C++】详解继承机制
开发语言·c++
文祐1 小时前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
雪的季节1 小时前
OCR: windows 环境基于c++的 paddle ocr 编译【CPU版本】编译成dll ,在QT、VS中调用
开发语言
剑挑星河月1 小时前
94.二叉树的中序遍历
java·算法·leetcode
2301_801184751 小时前
docker 工作
java·docker·容器