二話不說,直接給代碼吧。
@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));
}
控制臺(tái)打印結(jié)果:
if(){}else{}==7
?:==10
實(shí)際效果是:三目運(yùn)算符的效果明顯優(yōu)于if(){}else{}