klf
klf

Reputation: 1

Casting from ArrayList<Object> to List<HashMap<Integer,HashMap<String,String>>>

I am having trouble casting from ArrayList<Object> to List<HashMap<Integer,HashMap<String,String>>> as demonstrated in the following

code:

    import java.util.List;
    import java.util.ArrayList;
    import java.util.HashMap;
    class Main {
    public static void main(String[] args) {

        HashMap<Integer, HashMap<String, String>> l1 =
                new HashMap<Integer, HashMap<String, String>>();
        HashMap<Integer, HashMap<String, String>> l2 =
                new HashMap<Integer, HashMap<String, String>>();

        ArrayList<Object> list = new ArrayList<Object>();
        list.add(l1);
        list.add(l2);

        List <HashMap<Integer, HashMap<String, String>>> myList = (List<HashMap<Integer, HashMap<String, String>>>) list;
    }
}

Upvotes: -2

Views: 399

Answers (1)

Pankaj Singhal
Pankaj Singhal

Reputation: 16043

replace

ArrayList<Object> list = new ArrayList<Object>();

with

List <HashMap<Integer, HashMap<String, String>>> list = new ArrayList();
list.add(l1);
list.add(l2);

Else, do the following:

List <HashMap<Integer, HashMap<String, String>>> myList = new ArrayList();
for (Object obj : list) {
    myList.add((HashMap<Integer, HashMap<String, String>>) obj);
}

Upvotes: 1

Related Questions