<?>在Java中代表什么?

tri*_*man 5 java raw-types

可能重复:
Java泛型

在Eclipse中,我收到了关于使用'rawtypes'的警告,其中一个修复就是添加<?>.例如:

    Class parameter = String.class;
    //Eclipse would suggest a fix by converting to the following:
    Class<?> parameter = String.class;
Run Code Online (Sandbox Code Playgroud)

<?>究竟意味着什么?

Jas*_*n S 5

Class<?>应该被解释为某种Class东西,但是某些东西是未知或关心的.

它是Java泛型类型的使用.Class在Java 5或更高版本中是参数化类型,因此编译器需要一个类型参数.Class<String>将在您的代码的特定上下文中工作,但在许多情况下,您不关心实际的类型参数,因此您可以使用Class<?>哪个告诉编译器您知道Class需要一个类型参数,但是您没有关心参数是什么.


Nea*_*eal 2

原始类型是指使用泛型类型而不指定类型参数。例如,List 是原始类型,而 List<String> 是参数化类型

有关更多信息,请参阅此文档:http://www.javapractices.com/topic/TopicAction.do ?Id=224