k88074 :
A method of some poorly documented library is returning me a List of Objects. I know that the list contains ArrayLists of integers. As follows:
List<?> result = lib.get();
Iterator<?> iterator = result.iterator();
while(iterator.hasNext()){
Object next = iterator.next();
System.out.println(next.toString());
System.out.println(next.getClass());
}
Gets me
[0, 0]
class java.util.Arrays$ArrayList
[0, 1]
class java.util.Arrays$ArrayList
[0, 2]
class java.util.Arrays$ArrayList
How can I get to turn those objects into ArrayList so that I can use them properly?
Mohammad Hassany :
I think you can only cast the Object next = ... object into the type java.util.Arrays$ArrayList, but because it is a private static class, it is better to cast it to java.util.List class.
Like:
List<?> result = lib.get();
Iterator<?> iterator = result.iterator();
while(iterator.hasNext()){
Object next = iterator.next();
// -------------------
List<Integer> list = (List<Integer>) next;
System.out.println(list.get(0));
System.out.println(list.get(1));
// -------------------
}