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

 

  例:

  解決方案:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM