Java中String性能优化
不用使用String的构造函数,可能的话直接使用字符串。
两个特例:
1)想把char[]转换为一个String,
2)使用一个大的String对象的substring()方法;
String.equals()比String.equalsIgnoreCase()要快;
尽量使用StringBuilder来构造一个String,而不是“+”操作符和String.concat()(除非是一个表达式,Strings=a+b+c);
StringBuilder是不同步的(notsynchronized),所以要比StringBuffer快;
在String[Buffer|Builder]构造函数中加上容量参数,因为创建一个太小的buffer会降低性能;
String.length()==0比String.equals("")要快。使用Java6时,String.isEmpty()更快;
调用String.toString()是没有意义的;
由于String是不可变的,所以String的方法中,所有返回修改过的String的都是返回了一个新的实例;
String.split(regex)事实上简单的调用了Pattern.compile(regex).split(this,limit),且每次compile()都会返回一个新Pattern。所以如果频繁调用split的话,最好创建单个Pattern实例并重复使用来取代split()。
以上就是本文要给大家分享的内容了,希望大家能够喜欢。
请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!