String,HashMap,ArrayList 是我在工作中经常使用到的基础类。它们不同于 byte
,short
,int
,long
,float
,double
,char
,boolean
八种基本数据类型,String,HashMap,ArrayList 具备对象特征,可以调用方法。
本文旨在列出这些常用类的性能瓶颈,给出解决方案,并试图阐释性能瓶颈产生的原因。
一、String 类
String 类是日常中使用最多的类,没有之一。但因为常见,反而容易忽视对 String 的理解。以下将从 String 的用法及性能瓶颈两个方面来阐释。
1. String 的用法
基础用法:
String 的使用很简单。
String init = "init";//String初始化
String join = "partA"+"partB";//String的拼接
String slice = "Slice".subString(0,1);//String的切片
boolean isEqual = "A".equals("B"); //String的比较
工具包的使用
由于 jdk 只提供了基础用法,当我们有对 String 较复杂的操作时,为了提高代码的可读性,可以使用一些第三方的工具包中的工具类,如 org.apache.commons.lang3.StringUtils
。
以字符串的空白检验为例:
public static boolean isBlank(CharSequence cs) {
int strLen;
if(cs != null && (strLen = cs.length()) != 0) {
for(int i = 0; i < strLen; ++i) {
if(!Character.isWhitespace(cs.charAt(i))) {
return false;
}
}
return true;
} else {
return true;
}
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于