如果变量调用返回Class<?>[]
,如何存储变量调用的结果?这是我假设的工作中的泛型,但我无法弄清楚如何存储它。
例如当我做
时 myObject的。 - &GT;在这里我得到了eclipse中的方法列表,当我转到我想要的方法returns Class<?>[]
答案 0 :(得分:0)
如果您希望代码保持通用,可以将其存储在
中Class<?>[]
变量。
如果您知道类型并且不需要保持通用,则可以定义更受限制的类型变量,并将该方法的结果转换为该类型。
答案 1 :(得分:0)
我认为这些问题表明了对泛型的误解。 当方法返回时
Class<?>[]
那是因为你做了它所以它可以返回任何类型的数组。
当您实际使用该方法时,它不会评估真正的类是什么,它只返回方法签名中声明的内容。然后,您可以检查结果中的每个对象,并获取实际的类。泛型只是一种使弱类型通用类(即集合)更加强类型化的方法,它不是一种处理机制。它永远不会找出?
对你来说是什么。
如果您事先知道?
可能是什么,请更改您的方法签名以表明它。您甚至可以将其声明为
Class<? extends BaseClass>[]
表示您只期望BaseClass的子类。