import org.apache.commons.lang.StringUtils;
public class StringEmptyCompare {
String s = "";
//循环一亿次,比较效率
long n = 100000000;
//方法1
private void function1() {
//存下起始时间
long startTime = System.currentTimeMillis();
for (int i = 0; i < n; i ++) {
if (s == null || s.equals("")) ;
}
//存下结束时间
long endTime = System.currentTimeMillis();
System.out.println("方法1用时:" + (endTime - startTime) + "ms");
}
//方法2
private void function2() {
long startTime = System.currentTimeMillis();
for (int i = 0; i < n; i ++) {
if (s == null || s.length() < 1) ;
}
long endTime = System.currentTimeMillis();
System.out.println("方法2用时:" + (endTime - startTime) + "ms");
}
//方法3
private void function3() {
long startTime = System.currentTimeMillis();
for (int i = 0; i < n; i ++) {
if (s == null || s.isEmpty()) ;
}
long endTime = System.currentTimeMillis();
System.out.println("方法3用时:" + (endTime - startTime) + "ms");
}
//方法4
private void function4() {
long startTime = System.currentTimeMillis();
for (int i = 0; i < n; i ++) {
if (StringUtils.isBlank(s)) ;
}
long endTime = System.currentTimeMillis();
System.out.println("方法4-StringUtils.isBlank用时:" + (endTime - startTime) + "ms");
}
//方法4
private void function5() {
long startTime = System.currentTimeMillis();
for (int i = 0; i < n; i ++) {
if (StringUtils.isEmpty(s)) ;
}
long endTime = System.currentTimeMillis();
System.out.println("方法5-StringUtils.isEmpty用时:" + (endTime - startTime) + "ms");
}
public static void main(String[] args) {
StringEmptyCompare sec = new StringEmptyCompare();
sec.function1();
sec.function2();
sec.function3();
sec.function4();
sec.function5();
}
}
结果:
方法1用时:1156ms
方法2用时:563ms
方法3用时:671ms
方法4-StringUtils.isBlank用时:1344ms
方法5-StringUtils.isEmpty用时:719ms
可以看出,方法2效率最高;方法3与方法2效率上相差不大;方法4效率最低。
分享到:
相关推荐
判断字符串是否为空判断字符串是否为空判断字符串是否为空
java判断字符串是否是json或json数组; 简单小方法,很实用;简单实用的方法;亲测可用;嗯嗯嗯呃呃呃呃呃呃呃
【JS】Java 判断字符串是否为空的三种方法--方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低.方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法.方法三: Java SE 6.0 才开始提供的方法, 效率和方法二...
在JAVA里面实现判断字符串长度,和截取字符串
java 判断字符串是否是中文 共总结了6种方法。。。。
java判断字符串是否存在递增或递减 java判断字符串是否重复
判断字符串是否包含emoji表情
这个是我自己写的一个JAVA的小方法,用正则表达式写的一个判断字符串是否为数字的一个方法,拿过来就能用,很方便,比如说:手机号等
主要介绍了Java判断字符串为空、字符串是否为数字,其中数字的判断介绍了3种方法,需要的朋友可以参考下
java压缩字符串
自己编的java判断一个字符串是否对称的,忘指导。判断一个字符串是否是对称字符串(方法改进) (一个一个比较) 例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
对网上问的一些问题的总结,封装成了一个工具类。完成的功能有: 1、判断字符串中是否有中文; 2、得到字符串中有几个中文; 3、判断字符串中有没有连续的几个中文;
判断字符串为空 判断Email有效性 判断身份证号码有效性 判断手机号码有效性 判断是否含有特殊字符 校验是否是中文名字 包括 姓名 • 校验是否是英文名字 将字符串转换为大写 将字符串转换为小写 判断字符串是否为...
Java分割字符串
java 分解字符串 java 分解字符串 java 分解字符串
主要介绍了Java判断字符串中是否包含中文方法,使用Matcher类解决了这个问题,需要的朋友可以参考下
//判断字符串格式的时间是否符合要求 public int IsDate(string strDate) { System.Text.RegularExpressions.Regex strReg = new System.Text.RegularExpressions.Regex(@"\d{4}-\d{1,2}-\d{1,2}"); if (strReg....
Java 正则表达式判断字符串是否包含中文
java从一个包含中文字的字符串中抽取数字部分的两种方法,自己使用后,感觉挺符合需求了,分享出来。有需要的可以看看,看是否符合需求。
Java过滤字符串的方法,Java过滤字符串的方法,过滤敏感信息