Java实现简单字符生成器代码例子
创建成功的字符串对象,其长度是固定的,内容是不能被修改和编辑。虽然使用"+"可以达到增加新字符或字符串的目的,但"+"会产生一个新的String实例,会在内存中创建新的字符串对象。如果重复地对字符串进行修改,将极大地增加系统开销。J2SE自5.0增加了可变的字符序列String-Builder类,大大地提高了频繁增加字符串的效率。下面看个简单的例子。
public class Jerque { /** * 比较一般情况下的字符串生成器,和String-Builder所耗的时间 */ public static void main(String[] args) { // TODO Auto-generated method stub String str = ""; long startTime1 = System.currentTimeMillis(); for (int i =0; i<10000; i++) { str = str +i; } long endTime1 = System.currentTimeMillis(); long time1 = endTime1 - startTime1; System.out.println("字符串1消耗时间:"+ time1); StringBuilder builder = new StringBuilder(""); long startTime2 = System.currentTimeMillis(); for (int i=0;i<10000;i++) { builder.append(i); } long endTime2 = System.currentTimeMillis(); long time2 = endTime2 - startTime2; System.out.println("字符串2消耗时间:" + time2); } }
字符串1消耗时间:1210
字符串2消耗时间:3
总结:
1. 用JAVA自带的字符序列String-Builder类,无疑大大提高了效率。
2. 此类常用的方法如下:
a. append(content)方法
b. insert(int offset,arg)方法
StringBuilder b = new StringBuilder("Hello");
b.insert(5,"World!");
System.out.println(b.tostring());
c. delete(int start,int end)方法
StringBuilder d = new StringBuilder("StringBuilder");
d.delete(5,10);
System.out.println("d.toString()");
相关文章
SpringBoot使用CommandLineRunner和ApplicationRunner执行初始化业务方式
这篇文章主要介绍了SpringBoot使用CommandLineRunner和ApplicationRunner执行初始化业务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-08-08SpringBoot整合Drools规则引擎动态生成业务规则的实现
本文主要介绍了SpringBoot整合Drools规则引擎动态生成业务规则的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-12-12图解Java ReentrantLock公平锁和非公平锁的实现
ReentrantLock是Java并发中十分常用的一个类,具备类似synchronized锁的作用。但是相比synchronized, 它具备更强的能力,同时支持公平锁和非公平锁。本文就来聊聊ReentrantLock公平锁和非公平锁的实现,需要的可以参考一下2022-10-10Canal搭建 idea设置及采集数据到kafka的操作方法
这篇文章主要介绍了Canal搭建idea设置及采集数据到kafka的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-05-05
最新评论