如何解决关于Java:从String.class获取String []class,如果String.class是“运行时类型”怎么办?
也许试试Class.forName(String)
?
编辑:这是一个代码片段。
Class<?> arrayClass = String[].class;
System.out.println(arrayClass);
Class<?> namedClass = Class.forName("[L" + String.class.getName() + ";");
System.out.println(namedClass);
System.out.println(arrayClass == namedClass);
解决方法
这是一个变量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();
请问有什么连击方法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。