itjava2017 2017-06-26 07:35 采纳率: 88.9%
浏览 4005
已采纳

JAVA代码中黄色警告清理问题

小组领导有严重的洁癖,代码中只要有警告就一定要清理掉,特别是使用集合时很不确定该指定类型,这个清理有什么用吗

  • 写回答

6条回答 默认 最新

  • yizishou 2017-06-26 11:05
    关注

    如果你能够认真看每一条警告,并且了解了可能会出现的问题,你的Java水平会得到很大的提升,你会发现你写出的代码警告越来越少,质量越来越高。感谢你的领导吧。

    我来给你解释一下,为什么要重视IDE的黄色警告,能够帮你避免什么样严重的问题:

    1. 防止资源泄露。比如创建了文件流但是未关闭,可能会在运行时占用掉大量的文件句柄,导致系统卡顿,甚至崩溃。数据库连接也一样。
    2. 辅助类型检查。如果你的List没有指定泛型,那么任何对象都有可能会被放进List中,这就可能导致使用时的强制类型转换出错。
    3. 代码可达性分析。编译器检测到你写了一个绝对不会执行到的代码,会警告你,比如你写了

      if (isWoman = true) { // 你能看出来你写的是=而不是==吗?
      print("woman");
      } else { // 编译器会在else代码块给出警告,因为不可达
      print("man");
      }
      
    4. 空值检测。如果编译器在检测了所有情况之后认为,你使用的这个变量在这里一定是null,会给你警告。你要考虑一下是不是忘了赋值,或者写错了变量名。

    5. switch case缺失。如果一个枚举定义了4个值,但是你在对这个枚举的对象进行switch的时候只写了其中三个case,且没有default,编译器会提醒你是不是忘了写另一个case。

    先想到这么多。

    另外,希望你不要用敌对的眼光去看这些警告,它们努力帮你的样子,还是挺可爱的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?