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

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、Can be replaced with single expression in functional style

  例:

 

 

  解决方案:
    return first.orElse(null);


posted @ 2019-09-27 12:12  孤独的拾荒者  阅读(7055)  评论(0编辑  收藏  举报