java学习之路:8.字符串生成器
时间:2022-07-28
本文章向大家介绍java学习之路:8.字符串生成器,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.先看一段代码
这段代码是照着书上敲的,书上运行结果显示STring 消耗时间:500多,StringBuilder消耗时间:1。
package number;
public class Xuexi {
public static void main(String[] args) {
String str="";
long starTime =System.currentTimeMillis();//定义对字符串执行操作的起始时间
for(int i=0;i<10000;i++) //利用循环执行10000次操作
{
str=str+i; //循环追加字符串
}
long endTime=System.currentTimeMillis(); //定义对字符串执行操作的起始时间
long time =endTime-starTime; //定义对字符串执行操作的起始时间
System.out.println("STring 消耗时间:"+time);
//上面是普通的追加字符串 下面使用专用的字符串生成器 比较两者消耗时间
StringBuilder builder =new StringBuilder("");//创建字符串生成器
starTime =System.currentTimeMillis();//定义对字符串执行操作的起始时间
for(int j=0;j<=1000;j++)
{
builder.append(j); //循环追加字符
}
endTime =System.currentTimeMillis();//定义对字符串执行操作的起始时间
time=endTime-starTime;//定义对字符串执行操作的起始时间
System.out.println("StringBuilder消耗时间:"+time);
}
}
我运行的结果是下面的图。直接变成了0,哈哈。
可以看出,字符串追加器是普通追加的百倍,追加次数越多,这个比例可能更高,所以得出结论,如果在程序种频繁的附加字符串,jia建议使用字符串生成器,再往下看。
2.解释
1.创建字符串生成器 StringBuilder str = new StringBuilder(字符串)
append( content ) 该方法向字符串生成器中追加内容,content表示要追加的内容。
StringBuilder builder =new StringBuilder("huagou");//创建字符串生成器
builder.append(hello);
insert(int offset ,arg) 该方法用于向字符串生成器指定的位置添加字符。 offset:字符串生成器的位置 arg:将插入至字符串生成器的位置
StringBuilder builder =new StringBuilder("huagou");//创建字符串生成器
builder.insert(5,"word");
delete(int start,int end) 该方法移除此序列的子字符串中的字符。 start:将要删除的字符串的起点位置 end:将要删除的字符串终点位置
StringBuilder builder =new StringBuilder("huagou");//创建字符串生成器
builder.delete(5,10);
若要使用STringBuilder最后输出字符串结果,可使用toString()。
StringBuilder builder =new StringBuilder("huagou");//创建字符串生成器
builder.delete(5,10);
System.out.println(builder.toString());
- Oracle总结【SQL细节、多表查询、分组查询、分页】
- 关于内存异常的一个猜想(r4笔记第43天)
- WebSocket就是这么简单
- 09(01)总结final,多态,抽象类,接口
- 01 Mybatis 的配置和使用
- Oracle总结【视图、索引、事务、用户权限、批量操作】
- 02 使用Mybatis的逆向工程自动生成代码
- 关于ORA-12801,ORA-27090的简单分析(r4笔记第58天)
- Oracle总结【PLSQL学习】
- 01 Maven构建的项目中,把.xml等配置文件添加到编译目录
- Java 语法清单-快速回顾
- 常用的CSS框架
- JsChart组件使用
- 01 Spring Boot 的简单配置和使用
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- MySQL系列之体系结构原理学习笔记
- 触屏事件
- 10.2【前端开发】图片文件格式:常见的图片格式对比有何优劣以及如何使用Google的webp格式?
- uni-app 与 Vue H5 项目通讯
- Gridview][UpdateCommand的写法要点]
- MySQL系列之事务日志Undo log学习笔记
- click 延时解决方案
- Splash抓取javaScript动态渲染页面
- Sentence-Transformer的使用及fine-tune教程
- MySQL系列之事务日志Redo log学习笔记
- jQuery 的基本使用
- uni-app项目改用vue-cli npm运行报错及问题总汇
- 10.3【前端开发】背景图片:如何使用精灵图?
- Angular依赖注入官方文档的学习笔记
- jQuery 选择器