ApiDay001 __02 Java_StringBuilder
2024-10-20 00:47:46
Java 核心API
StringBuilder
String 类型的连接性能不好,Java提供了StringBuilder解决字符串连接性能问题。
简单理解 StringBuilder性能好!(重点!)
点击查看代码
String s1 = "ABC";
String s2 = "def";
String s3 = s1 + s2;
字符串连接性能测试:
点击查看代码
```java
String str = "";
long t1 = System.currentTimeMillis();
for(int i=0; i<50000; i++){
str = str + "A";
}
long t2 = System.currentTimeMillis();
System.out.pritnln(t2 - t1);
```
StringBuilder 用于提升String字符串的连接性
- StringBuilder称为可变字符串
- StringBuilder内部也是字符数组, 其API可以直接修改其内部数组的内容
- 当数组容量不足时候, 会自动扩容
- 运算期间会尽力减少创建数组的数量。
点击查看代码
package string;
public class StringBuilderDemo03 {
public static void main(String[] args) {
/*
* 测试StringBuilder的连接性能
*/
StringBuilder buf = new StringBuilder();
long t1 = System.currentTimeMillis();
for (int i =0; i<50000; i++){
buf.append("A");
}
long t2 = System.currentTimeMillis();
System.out.println(t2-t1);
}
}
StringBuilder API
点击查看代码
```java
buf-> char[]{A, C, B, 0, 0, 0, 0, 0, 0, 0, 0...0}
// 0 1 2 3 4 5
StringBuilder buf = new StringBuilder();
buf.append("A")
.append("A")
.append("A")
.append("B")
.insert(1,"C")
.delete(2,4);
Stirng str = buf.toString();
```
- append() 追加, 在StringBuilder的后面添加字符,当容量满了,会自动扩容, 扩容规则 1倍+2;
- insert(位置,字符) 插入字符;
- delete(开始位置, 结束位置): 删除一定范围的字符,包括开始,不包括结束
- replace():替换
- reverse():翻转
- StringBuilder的API返回的大多是当前对象,可以连续使用.调用方法。
- toString() 方法可以讲StringBuilder转换为String
最新文章
- qt5中文代码编码编译问题
- 生产环境使用 pt-table-checksum 检查MySQL数据一致性
- jQuery fullPage.js 全屏滚动
- iOS-- pod常用命令
- python 进程间共享数据 (一)
- 面向对象编程(OOP)基础之UML基础
- Angular学习(7)- 模板2
- Verilog杂谈
- Swift 2.0学习
- [Leetcode][019] Remove Nth Node From End of List (Java)
- 调用Windows属性窗口(居然是通过注册表来调用的)
- 让你提前认识软件开发(23):怎样在C语言中运行shell命令?
- chmod u+s(转)
- html5shiv.min.js 和 respond.min.js 作用(bootstrap做IE低版本兼容时需要用到这两个插件)
- 四、VueJs 填坑日记之搭建Axios接口请求工具
- Oracle的nvl函数和nvl2函数
- 纯 Html 5的 简单 TreeView 保存下思路以后有机会再完善。
- 一张图教你弄清楚linux虚拟机的静态IP设置原理 VMnet8
- day22(过滤器Filter)
- STM32F4 Alternate function mapping