这是一个变量Class<?> cls
,现在我想获取另一个Array Class Object
是哪个组件类型cls
。
例如,如果cls
= String.class
,我想得到String[].class
; 如果cls
= int.class
,我想得到 ,int[].class
我该怎么办?
你看,这很容易String.class
得到String[].class
:
Class<?> arrayCls = String[].class;
if(arrayCls.isArray()){
Class<?> cls = arrayCls.getComponentType();
}
但我找不到简单的方法来做相反的事情。
这是一种可能的解决方案:
Class<?> clazz = String.class;
Class<?> arrayClass = Array.newInstance(clazz,0).getClass();
请问有什么方法可以做到这一点吗?