gpt4 book ai didi

java - 如何获取类数组的 .class 值?

转载 作者:行者123 更新时间:2023-11-29 08:06:20 24 4
gpt4 key购买 nike

假设我有一个名为 thisObject 的对象,它可能是一个 int、String、Object 等,或者是此类类的数组。我希望生成的类存储在名为 thisObjectArrayClassClass 变量中。

这不会编译,但有望解释我正在寻找的内容:

switch(thisObject.class) {
case int.class:
int[] tempObject;
thisObjectArrayClass = tempObject.class;
break;
case float.class:
float[] tempObject;
thisObjectArrayClass = tempObject.class;
break;
case int[].class:
int[][] tempObject;
thisObjectArrayClass = tempObject.class;
break;
}

这样做的问题在于它依赖于switch/case语句,这显然是 Not Acceptable 。我尝试使用反射来做到这一点失败了,但我是 Java 的新手,所以也许我做错了什么。如何实现?

最佳答案

您正在寻找 Array.newInstance:

thisObjectArrayClass = Array.newInstance(thisObject.class, 0).getClass();

这会实例化一个 0 长度thisObject.class 数组,并请求该对象的 class

关于java - 如何获取类数组的 .class 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10958673/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com