Given:
23. Object [] myObjects = {
24. new Integer(12),
25. new String(“foo”),
26. new Integer(5),
27. new Boolean(true)
28. };
29. Arrays.sort(myObjects);
30. for(int i=0; i<myObjects.length; i++) {
31. System.out.print(myObjects[i].toString());
32. System.out.print(” “);
33. }
What is the result?
A.
Compilation fails due to an error in line 23.
B.
Compilation fails due to an error in line 29.
C.
A ClassCastException occurs in line 29.
D.
A ClassCastException occurs in line 31.
E.
The value of all four objects prints in natural order.
Explanation:
Exception in thread “main” java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at java.lang.Integer.compareTo(Integer.java:37)
at java.util.Arrays.mergeSort(Arrays.java:1144)
at java.util.Arrays.sort(Arrays.java:1079)
at main(Main.java:29)