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()。
以上就是本文要给大家分享的内容了,希望大家能够喜欢。
请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!
上一篇:详解Lombok的坑
栏 目:JAVA代码
下一篇:Java编程中的一些常见问题汇总
本文标题:Java中String性能优化
本文地址:http://www.codeinn.net/misctech/101775.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




