Im Zusammenhang mit allgemeiner Programmierung bin ich auf ein Problem gestossen.
Man kann Arrays mit beliebigen Dimensonen erstellen (siehe hier)
Ich möchte einen Array mit gleicher Dimension erstellen und versuche nun die Dimension eines Arrays herauszufinden, aber das geht schief. Warum?
Output:
Man kann Arrays mit beliebigen Dimensonen erstellen (siehe hier)
Ich möchte einen Array mit gleicher Dimension erstellen und versuche nun die Dimension eines Arrays herauszufinden, aber das geht schief. Warum?
Java:
public class TwoDimArrays {
private static double[][] d = {{1.0, 2.0},{3.0, 4.0}};
public static void checkArray(Object o, int stufe) {
if (stufe>10) {
System.out.println("ABBRUCH!");
return;
}
if (o.getClass().isArray()) {
System.out.println(stufe + " ist ein Array");
Object[] oa = (Object[]) o;
checkArray(oa[0], stufe+1);
} else {
System.out.println(stufe + " ist kein Array");
}
}
public static void main(String[] args) {
checkArray(d, 1);
}
}
Output:
Code:
1 ist ein Array
2 ist ein Array
Exception in thread "main" java.lang.ClassCastException: [D cannot be cast to [Ljava.lang.Object;
at com.javaforum.casting.TwoDimArrays.checkArray(TwoDimArrays.java:16)
at com.javaforum.casting.TwoDimArrays.checkArray(TwoDimArrays.java:17)
at com.javaforum.casting.TwoDimArrays.main(TwoDimArrays.java:41)