Java中String性能优化

本文给大家分享的是如何在java中对String进行性能优化,使用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()。

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

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

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...