java判断字符串替空的5种方法及其效率
java判断字符串为空的5种方法及其效率
结果:
方法1用时:1156ms
方法2用时:563ms
方法3用时:671ms
方法4-StringUtils.isBlank用时:1344ms
方法5-StringUtils.isEmpty用时:719ms
可以看出,方法2效率最高;方法3与方法2效率上相差不大;方法4效率最低。
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效率最低。