java日常開發中,經常會碰到開發工具idea、Eclipse等在一些代碼中報黃線,這對於很多具有強迫症的同學來說,也是一件很頭疼的事,尤其是編碼不注意規范的同學來說。
下面我就列舉一些常見的黃線預警及其解決辦法:
1、Reports local variable of wrapper type though all usages allowed to be primitive and count of unnecessary boxing/unboxing operations reduces
例:
解決方案:將黃線部分的包裝類型Integer改成對應基本數據類型,即int
2、Unchecked assignment: 'java.util.LinkedHashMap' to 'java.util.Map<java.lang.String,java.lang.Object>
例子:
解決方案:添加泛型尖括號
new LinkedHashMap<>();
3、'while' loop replaceable with 'foreach'
例:
解決方案:
Iterator var2 = list.iterator();
for (;var2.hasNext();){
Object tem = var2.next();
maps.add(beanToMap(tem));
}
或者
Iterator var2;
for (var2 = list.iterator(); var2.hasNext();) {
Object tem = var2.next();
maps.add(beanToMap(tem));
}
4、'for' loop replaceable with 'foreach'
例:
解決方案:
for (String attr : attrs) {
//xxx
}
5、Value 'xxx' is always 'true'
例:
解決方案:
if (notNull) {
return true;
}
6、'if' statement can be simplified
例:
解決方案:
return str2 != null;
7、Anonymous new Comparator<String>() can be replaced with lambda
例:
解決方案:
tmpMap = new TreeMap<>((o1, o2)->o1.compareTo(o2));
———— 這是使用了java8中的拉姆達表達式優化
8、Wildcard type argument '?' explicitly extends 'java.lang.Object'
例:
解決方案:
Function<String, ?>
9、持續更新中...
例:
解決方案: