首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将一个Object数组转换为我想要的类的数组

要将一个Object数组转换为想要的类的数组,可以使用Java中的泛型和反射机制。以下是一个示例代码:

代码语言:java
复制
import java.lang.reflect.Array;
import java.util.List;

public class ArrayConverter {
    public static <T> T[] convert(List<Object> objectList, Class<T> clazz) {
        T[] array = (T[]) Array.newInstance(clazz, objectList.size());
        for (int i = 0; i< objectList.size(); i++) {
            array[i] = clazz.cast(objectList.get(i));
        }
        return array;
    }
}

在这个示例代码中,我们定义了一个静态方法convert,它接受一个List<Object>和一个Class<T>类型的参数,并返回一个T[]类型的数组。我们使用Java泛型来确保返回的数组类型与传入的Class<T>类型相同。

在方法内部,我们使用Array.newInstance方法创建一个新的数组,其中包含objectList中的所有元素。然后,我们遍历objectList中的每个元素,并使用clazz.cast方法将其转换为T类型,并将其存储在新数组中。

要使用这个方法,只需要传入一个List<Object>和一个Class<T>类型的参数即可。例如:

代码语言:java
复制
List<Object> objectList = new ArrayList<>();
objectList.add(new MyClass());
objectList.add(new MyClass());

MyClass[] myArray = ArrayConverter.convert(objectList, MyClass.class);

在这个示例代码中,我们创建了一个List<Object>,其中包含两个MyClass对象。然后,我们调用ArrayConverter.convert方法,将objectListMyClass.class传递给它,以将Object数组转换为MyClass数组。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券