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()。
以上就是本文要给大家分享的内容了,希望大家能够喜欢。
请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!
相关文章
基于SqlSessionFactory的openSession方法使用
这篇文章主要介绍了SqlSessionFactory的openSession方法使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12
最新评论