【发布时间】:2020-12-19 18:29:38
【问题描述】:
我想根据数组中存在的元素类型将对象数组转换为原始数组。
我想实现一个函数,它以对象数组和类型(作为字符串)作为输入,并且应该返回实际的数组,即
func(Object[] arr, String type) 应该被实现,这样当我调用时
func(Object[] arr, "int"),它应该返回 int[]
func(Object[] arr, "double"), 它应该返回 double[] 等等。
是否可以这样做,如果不能,如何从 Object[] 获取原始数组?
编辑:我的用例是我需要创建具有某些字段的 A 类的“n”个对象(比如说 2)。我将字段作为长度为 n 的对象数组,即
对象[] 字段1
对象[] 字段2
我还获得了字符串格式(“int”或“double”等)的字段类型,这始终是原始的。现在我们可以创建 A 类的对象吗?如果可能的话,如何创建?
【问题讨论】:
-
您要检索什么?这里的问题是,如果您尝试在一个函数中执行此操作,则无法定义非泛型返回类型。如果您创建多个函数,如何将其转换为也不是泛型的单个对象?我认为我们需要更多背景信息来提供更好的帮助。
-
@JayMason 我已经添加了我的用例。也许它给出了更好的主意
-
是不是像 Object[] 会有 n 个元素? Object[] field1 将拥有所有 n 个对象的第一个字段,而 Object[] field2 将拥有所有 n 个对象的第二个字段?