Java中String性能优化


不用使用String的构造函数,可能的话直接使用字符串。

两个特例:

1)想把char []转换为一个String,
2) 使用一个大的String对象的substring()方法;

String.equals() 比 String.equalsIgnoreCase()要快;

尽量使用StringBuilder来构造一个String,而不是“+”操作符和String.concat() (除非是一个表达式,String s = a + b + c);

StringBuilder是不同步的(not synchronized ),所以要比StringBuffer快;

在String[Buffer|Builder]构造函数中加上容量参数,因为创建一个太小的buffer会降低性能;

String.length()==0比String.equals("")要快。使用Java 6时,String.isEmpty()更快;

调用String.toString()是没有意义的;

由于String是不可变的,所以String的方法中,所有返回修改过的String的都是返回了一个新的实例;

String.split(regex)事实上简单的调用了Pattern.compile(regex).split(this, limit),且每次compile()都会返回一个新Pattern。所以如果频繁调用split的话,最好创建单个Pattern实例并重复使用来取代split()。

以上就是本文要给大家分享的内容了,希望大家能够喜欢。

请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!



相关阅读:
win8.1安装3月后更新假死问题解决教程
Win8系统命令提示符窗口中输入命令字符出错的解决方法
WinXP通过命令行cipher加解密文件或文件夹的技巧
Win10系统Insider计划的加入步骤附图
使用代码设置Win10正式版暗黑皮肤主题的技巧
JavaScript实现的多种鼠标拖放效果
asp.net 修饰符介绍(关于public、private、protected、internal)
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
迎Win10正式版 AMD/NVIDIA/Intel向用户推送了显卡驱动更新
C# Partial:分部方法和分部类代码实例
浅析js中的浮点型运算问题
JavaScript小技巧整理篇(非常全)
Javascript中判断对象是否为空
谷歌Chrome浏览器64位在Win10预览版10525中将修复崩溃
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4