zoukankan      html  css  js  c++  java
  • 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、持续更新中...

      例:

      解决方案:
  • 相关阅读:
    在虚拟机下安装Ubuntu
    2017年秋季学期获“领跑衫”感言
    PSP总结
    第十二周-每周例行报告
    final文案+美工展示
    第十一周-每周例行报告
    第十周-每周例行报告
    Beta发布 _thunder_文案+美工展示
    使用Dredd建立API Cycle
    使用pypiserver搭建自己的pypi服务器
  • 原文地址:https://www.cnblogs.com/tobiasy/p/11597098.html
Copyright © 2011-2022 走看看