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、持续更新中...

      例:

      解决方案:
  • 相关阅读:
    jQuery常用的选择器
    同一服务器 数据库间 不同表 的查询
    分页 存储过程 带分组
    Repeater控件的分页效果
    多个文本框的提示功能
    redis-desktop-manager 安装——redis的可视化工具
    redis安装和简介(2)
    全局ajax的使用
    redis安装和简介(1)
    上传图片即时显示图片
  • 原文地址:https://www.cnblogs.com/tobiasy/p/11597098.html
Copyright © 2011-2022 走看看