三目运算符和if(){}else{}的执行速度

二话不说,直接给代码吧。

 @Test
  public void test(){
    int i=0;
    String s = "sdf";
    Long befor = System.currentTimeMillis();
    while(i<10000){
      if(StringUtils.isNotBlank(s)){
        ++i;
      }else{
        ++i;
      }
    }
    Long medium = System.currentTimeMillis();
    while(i<2000000){
      i = StringUtils.isBlank(s)?(++i):(++i);
    }
    Long end = System.currentTimeMillis();
    System.out.println("if(){}else{}=="+(medium-befor));
    System.out.println("?:=="+(end-medium));
  }

控制台打印结果:
if(){}else{}==7
?:==10

实际效果是:三目运算符的效果明显优于if(){}else{}

你可能感兴趣的:(三目运算符和if(){}else{}的执行速度)