Java Android-在活动之间传递类数组

Java Android-在活动之间传递类数组,java,android,arrays,Java,Android,Arrays,我在一个数组中有三个不同的类或活动。每个类代表一个谜题。我有一个功能,可以在应用程序开始时重新排列数组,这样用户就不会每次启动应用程序时都看到相同的拼图 我想将这个类数组从一个活动传递到另一个活动。我可以将数组设置为通过,但不知道如何在下面的活动中检索它 以下是活动一中的设置 Class[] array = {PuzzleOne.class, PuzzleTwo.class, PuzzleThree.class}; Intent goToPuzzleOne = new Intent(MainAc

我在一个数组中有三个不同的类或活动。每个类代表一个谜题。我有一个功能,可以在应用程序开始时重新排列数组,这样用户就不会每次启动应用程序时都看到相同的拼图

我想将这个类数组从一个活动传递到另一个活动。我可以将数组设置为通过,但不知道如何在下面的活动中检索它

以下是活动一中的设置

Class[] array = {PuzzleOne.class, PuzzleTwo.class, PuzzleThree.class};
Intent goToPuzzleOne = new Intent(MainActivity.this, array[0]);
goToPuzzleOne.putExtra("classes",array);
如何在活动2中检索该类? 这是我到目前为止所拥有的

 Bundle extras = getIntent().getExtras();
 Class[] array = extras.NO IDEA HOW TO RETRIEVE IT HERE

如果有解决办法,请告诉我。多谢各位

既然我们在处理地图,您应该使用:

Object[] array = (Object[]) extras.get("classes"); // you cannot cast to Class[] !
然后:

Class a = (Class) array[0]; // and etc.

您可以查看
putExtra(“classes”,array)
的第二个参数的类型,它是可序列化的

因此,您可以使用
getSerializable()
将其取回,并将其强制转换到类数组中:

Class[] array = (Class[]) extras.getSerializable("classes");

谢谢你,太棒了!我在过去没有处理过太多的序列化问题,虽然这很有效,但我不确定为什么?序列化类意味着什么?序列化主要用于类吗?谢谢,理解代码对我帮助很大。我很感激!