莘羽科技资讯网
首页 > 智能 > Java 程式优化字串操作中的常见方法

Java 程式优化字串操作中的常见方法

Java 程式优化:字串操作中的常见方法

字串String是Java中重要的资料型别,根据String的特点,设计者对String做了大量的优化工作,很多初学Java的同学或不懂、或不会字串优化技巧,今天千锋就给大家分享一下。

字串操作中的常见优化方法有三种:

1、split方法优化

通常情况下,split方法带给我们很大的方便,但是其效能不是很好,建议结合使用。indexOf和subString方法进行自定义拆分,这样效能会有显著的提高。

2、运用StringBuilder类

String是不可变的,物件是不可变的。每次使用System.String类中的一个方法时,都要在内存中建立一个新的字串物件,这就需要为该新物件分配新的空间。在需要对字串执行重复修改的情况下,与建立新的String物件相关的系统开销可能会非常大。如果要修改字串而不建立新的物件,则可以使用System.Text.StringBuilder类。例如当在一个循环中将许多字串连线在一起时,使用StringBuilder类可以提升效能。

3、String常量的累加操作优化方法

程式码示例:

如上例所示,使用+号拼接字串,其效率明显较低,而使用StringBuffer和StringBuilder的append方法进行拼接,效率是使用+号拼接方式的百倍甚至千倍,而StringBuffer的效率比StringBuilder低些,这是由于StringBuffer实现了执行绪安全,效率较低也是不可避免的。所以在字串的累加操作中,建议结合线程问题选择,应避免使用+号拼接字串。

需要注意的是,StringBuffer和StringBuilder二者之间只有执行绪安全方面的差别,所以在无需考虑执行绪安全的情况下,建议使用效能相对较高的StringBuilder类,若系统要求执行绪安全,就选择StringBuffer类。

4、String、StringBuffer、StringBuilder三者的区别是什么?

String物件是不可变物件,需要字元操作的地方都是新建物件,一来会增加新物件数、增大占用内存;二来会降低效率。为了提升效率使用StringBuilder和StringBuffer类。使用总结如下:

1)如果要操作少量的资料用String;

2)多执行绪操作字串缓冲区下操作大量资料StringBuffer,因为方法都是synchronized同步方法;

3)单执行绪操作字串缓冲区下操作大量资料 StringBuilder(推荐使用),因为始终是一个物件,本质上是native 的阵列arrayCopy操作。

标签:

上一篇 目录 下一章

猜你喜欢

工业智能化 iPhone降...
iPhone降价有助于中国销售 “最艰难”时刻已过? 瑞银(UBS)分析师蒂莫西·阿库里(Timothy Arcuri)概述了为什么认为iPhone销售“...
万能手机遥控器 数字火种点亮科...
数字火种:点亮科技树的编码之旅 在一个由光芒构成的世界里,数字火种燃烧着无尽的能量,它是科技树上最耀眼的星辰,每一份力量都蕴含着未来。今天,我们将踏上一段...
ai新手入门教程 数码宝贝03樱...
探索数字世界的奇迹与冒险:《数码宝贝03》日文版深度解析 在充满想象力的数字世界中,各种各样的数码宝贝与孩子们结伴同行。作为经典动漫系列中的第三部作品,《...
智能网联汽车名词解释 移动支付我是如...
我是如何用手机一笔带走的快餐钱的? 在这个充满科技与便利的时代,移动支付已经成为我们日常生活中不可或缺的一部分。每当我想买个外卖或者咖啡时,都会毫不犹豫地...

强力推荐