簡介:
Java編譯選項有標准選項和非標准選項之分,標准選項指的是當前版本支持的選項,后續版本也一定支持;非標准選項指的是當前版本支持的選項,后續版本不一定支持。
非標准選項是以-X開頭的選項,但是-X選項則是一個標准選項,用來顯示-X選項的幫助信息;有特例:-J選項
-Xlint:
-Xlint選項用來啟用建議的告警,有如下選項:
源碼:
public class TestXlint { private List list = new ArrayList(10); private void add(String word) { list.add(word); } public void output() { list.forEach(System.out::println); } public static void main(String[] args) { TestXlint instance = new TestXlint(); instance.add("AA"); instance.add("BB"); instance.output(); } }
public class TestXlint2 implements Serializable { public void func1() { try { System.out.println("TestXlint2"); } catch (Exception ex) { System.out.println(ex.getMessage()); } finally { for (;;); } } public void func2(int color) { switch (color) { case 1: System.out.println("green"); case 2: System.out.println("red"); case 3: System.out.println("yellow"); break; } } }
常用-Xlint選項設置:
1、-Xlint
啟用所有編譯建議的警告;該選項等同於-Xlint:all,相反禁用所有警告的選項為:-Xlint:none;-Xlint:none並非不顯示任何警告,而是會給出存在哪些類型的警告並建議使用-Xlint對應的選項
2、-Xlint:unchecked
啟用未經檢查的轉換警告,JDK1.5泛型引入的,源碼中的編譯警告即屬於該種類型
3、-Xlint:finally
finally語句無法正常結束的警告
4、-Xlint:serial
需要序列化的類,未指定序列化ID的警告
5、-Xlint:fallthrouth
switch case語句中,第一個case語句無break