Java代码中可以优化性能的小细节
避免对boolean类型的判定
反例:
1 | if("a".equles("a")==true)`{ |
正例:
1 | if(Objects.equles("a","a"))`{ |
**多用条件判断符 **
反例:
1 | if(a<0)`{ |
a<0?0:1;
1 |
|
if(!a<0)`{
return 0;
}else{
return 1;
}
1 | 正例: |
if(a>=0)`{
return 0;
}else{
return 1;
}
1 |
|
“abc”+“d”;
1 | 正例: |
“abc”+‘d’;
1 | **大量字符串拼接时使用StringBuffer代替+** |
for(int i=0i<a.size();;i++){
}
1 | 正例: |
for(int i=0,n=a.size();i<n;i++){
}
1 |
|
int index=-1;
for(int i=0,n=a.size();i<n;i++){
if(a.get(i)==3){
index=i;
}
}
1 | 正例: |
int index=-1;
for(int i=0,n=a.size();i<n;i++){
if(a.get(i)==3){
index=i;
break;
}
}
**不要在循环中改变数组/List的大小**
**使用`System.arrayCopy`进行复制数组**
**使用Buffer进行IO操作**
**释放资源的代码要放在finally代码块中**
**多用java.util.Obects工具类**
<h4