解决方法如下:
public class ObjectArrayTraversal {
public static void main(String[] args) {
// 创建一个包含数组的对象数组
Object[] objectArray = new Object[3];
objectArray[0] = new int[]{1, 2, 3}; // 包含整型数组的对象
objectArray[1] = new String[]{"hello", "world"}; // 包含字符串数组的对象
objectArray[2] = new double[]{1.5, 2.3, 3.7}; // 包含双精度浮点数数组的对象
// 遍历包含数组的对象数组
for (Object obj : objectArray) {
if (obj instanceof int[]) {
// 如果是整型数组,进行强制类型转换并遍历
int[] intArr = (int[]) obj;
for (int num : intArr) {
System.out.print(num + " ");
}
} else if (obj instanceof String[]) {
// 如果是字符串数组,进行强制类型转换并遍历
String[] strArr = (String[]) obj;
for (String str : strArr) {
System.out.print(str + " ");
}
} else if (obj instanceof double[]) {
// 如果是双精度浮点数数组,进行强制类型转换并遍历
double[] doubleArr = (double[]) obj;
for (double num : doubleArr) {
System.out.print(num + " ");
}
}
System.out.println();
}
}
}
这段代码创建了一个包含数组的对象数组 objectArray
,其中包含了一个整型数组、一个字符串数组和一个双精度浮点数数组。然后使用增强型 for 循环遍历 objectArray
,通过判断每个元素的类型来确定是哪种数组,并进行相应的强制类型转换。最后,使用普通的 for 循环遍历每个数组,并输出数组中的元素。