三目运算符和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{}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。