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

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

如果你能够认真看每一条警告,并且了解了可能会出现的问题,你的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。

先想到这么多。

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

这个没什么用,使用泛型的时候最好指定具体类型,这样比较好理解代码。

美其名曰,要求代码规范,大公司一般都有这样子的要求

比较好看,免去了各自强迫症的烦恼

纯属你领导的代码洁癖= =

我也有这种强烈的强迫症,我也是不能看到黄色感叹号出现。很纠结!