java 项目 预警_java开发中的常见代码黄线预警

Java日常开发中,开发工具如Idea、Eclipse等会在代码中报黄线。本文列举了常见的黄线预警情况,如包装类型使用、未检查赋值、循环可替换等,并给出了相应的解决办法,如修改数据类型、添加泛型、使用foreach循环、简化if语句等,且会持续更新。

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

例:

0c900d582ac37e4ea8c534740eb25cb3.png

解决方案:将黄线部分的包装类型Integer改成对应基本数据类型,即int

2、Unchecked assignment: 'java.util.LinkedHashMap' to 'java.util.Map

例子:

6df9c2ceeb4e72cb603d1e457572c2a8.png

解决方案:添加泛型尖括号

new LinkedHashMap<>();

3、'while' loop replaceable with 'foreach'

例:

89d6f18ce3f995d60a6eb5debf0d7905.png

解决方案:

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'

例:

6e92df537e61a199484351a8844f7580.png

解决方案:

for (String attr : attrs) {

//xxx

}

5、Value 'xxx' is always 'true'

例:

3981b74d3b9d570b40c37969c98cef7d.png

解决方案:

if (notNull)  {

returntrue;

}

6、'if' statement can be simplified

例:

bb8deaf357ea23c4aa1d78a925405f68.png

解决方案:

return str2 != null;

7、Anonymous new Comparator() can be replaced with lambda

例:

cb03c90a40eec3e141d743744d624616.png

解决方案:

tmpMap = new TreeMap<>((o1, o2)->o1.compareTo(o2));

———— 这是使用了java8中的拉姆达表达式优化

8、Wildcard type argument '?' explicitly extends 'java.lang.Object'

例:

645d556f2c8bcabfa9dc4a31d9bc8376.png

解决方案:

Function

9、持续更新中...

例:

解决方案:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值