2

我想要一个方法来返回类似的东西:

{classA.class,classB.class,classC.class}

我试过了:

public Class<?>[] methodeName()
{
   return {classA.class,classB.class,classC.class};
}

但这不符合,因为Java认为我想创建一个类......我不想使用任何列表......

有什么建议么?

4

4 回答 4

4

您需要正确创建数组:

return new Class<?>[]{classA.class, classB.class, classC.class};

您尝试做的仅适用于数组声明:

Class<?>[] classes = {classA.class, classB.class, classC.class};  // <--
return classes;

数组创建表达式在JLS §15.10中有详细说明。

于 2013-10-25T14:14:24.887 回答
0

你必须告诉类型是Class

return new Class[] {classA.class, classB.class, classC.class};

在哪里

 return {classA.class,classB.class,classC.class};// Compiler is asking  what 
                 type of array it is ?? I can't store without knowing its type.
于 2013-10-25T14:15:09.820 回答
0

试试这个

    public Class<?>[] methodeName()
    {
       Class<?>[] classes= {classA.class,classB.class,classC.class};
       return classes;
    }
于 2013-10-25T14:16:48.557 回答
0

这会奏效

Class[] fun(){
    Class[] i = {classA.class,classB.class,classC.class};
    return i;
}
于 2013-10-25T14:18:33.003 回答