2014-02-21 52 views
1

的實例時,當我使用此代碼未經檢查或不安全的操作獲得的java.lang.Class

Class clm = itt.apa.labs.Message.class; 

if (!(clm.isAssignableFrom(cl))) { 
    System.out.println("Class not implements Message!"); 
    System.exit(1); 
} 

我已經去這個結果說:

[javac] Note: /.../Step5.java uses unchecked or unsafe operations. 
[javac] Note: Recompile with -Xlint:unchecked for details. 

但是,當我這樣做:

if (!(itt.apa.labs.Message.class.isAssignableFrom(cl))) { 
    System.out.println("Class not implements Message!"); 
    System.exit(1); 
} 

我沒有任何說明。

我已經閱讀了一些有關泛型的內容,但我不明白爲什麼會發生這種情況。

任何幫助?任何人都能解釋我爲什麼?

+0

請求編譯器使用'javac -Xlint:unchecked filename.java'回答 – Rembo

回答

1
Class clm 

應該

Class<itt.apa.labs.Message> clm 

類是通用型,和你使用它作爲一個原始類型。

+0

好的!非常感謝JB Nizet。現在我明白了,有道理。 – Mario

相關問題