2014-02-21 43 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

相关问题