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()==0String.equals("")要快。使用Java 6时,String.isEmpty()更快;
  • 调用String.toString()是没有意义的;
  • 由于String是不可变的,所以String的方法中,所有返回修改过的String的都是返回了一个新的实例;
  • String.split(regex)事实上简单的调用了Pattern.compile(regex).split(this, limit),且每次compile()都会返回一个新Pattern。所以如果频繁调用split的话,最好创建单个Pattern实例并重复使用来取代split()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值