数组对象/类

时间:2016-05-05 08:47:02

标签: java android

我正在尝试使用各自实例化的arrayObjects。

我尝试在数组中放置多个对象,但我不知道正确的sintax

我正在尝试:

Class[] classes = new Class[]{ViewHolder1.class,ViewHolder2.class};

在我的适配器中有:

RecyclerView.ViewHolder viewHolder;
Class[] classes; // -> will get values

我能做到:

viewHolder = new ViewHolder1(v1);

但我不知道如何从数组中访问我的对象:

viewHolder = new classes[i](v1); //can't not find simbol class.

我不知道是否需要I Object [] // Class [],以及如何实例化正确。

1 个答案:

答案 0 :(得分:0)

我从您的评论中得到的是,您有一系列Class类型对象,并且您希望实例化Object

Class

你可以通过reflection来实现它,所以如果它是你的类数组中的第0个元素,你必须这样做:

Constructor ctor = classes[0].getDeclaredConstructor(<Class of v1 Object>);
ctor.setAccessible(true);

viewHolder = ctor.newInstance(v1);

此代码只是为了让您了解如何使用反射。您需要对其进行调整以使其完全正常运行。

希望它有所帮助。