How to convert object class to arrayList ? java
本问题已经有最佳答案,请猛点这里访问。
我有这个代码:
1 2 3 4 5 6 7 8 |
如何将用户作为数组? 谢谢
1 2 3 4 5 6 7 8 9 10 | List<Integer> users = new ArrayList<Integer>(); Map<String, Object> hashMap = new HashMap<String, Object>(); hashMap.put("users",user); .... .... .... List<Integer> users = (List<Integer>)hashMap.get("users"); //assuming this is another method and 'users' is not defined here yet Integer[] usersArray = users.toArray(new Integer[users.size()]); System.out.println("" + usersArray[i]); |
请注意,这是一个暴行,你不应该将List作为一个对象存储,你几乎可以避开泛型的用途。
如果要将其作为ArrayList访问,此代码将起作用:
1 2 3 4 |
您将代码存储为对象后,您的代码将无法正常工作。所以你需要演员。即便如此,你使用
如果要将其用作数组,可以将最后一行更改为:
1 | hashMap.get("users").toArray() |
然后你可以使用
或者,如果您想将hashMap用作属性包作为有效提及的人,则需要进行强制转换:
1 | ((ArrayList<Integer>) hashMap.get("users")) |
然后,您可以将用户用作
您可以尝试以下内容
1 2 3 |
现在
1 | hashMap.get("user") |
将返回
1 | hashMap.get("user").get(0); // to get 0th index user |
因为它是
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public static void main(String args[]) throws Exception { ArrayList<Integer> users = new ArrayList<Integer>(); users.add(5); users.add(10); Map <String,Object> hashMap = new HashMap <String,Object> (); hashMap.put("users",users); ArrayList<Integer> no = ((ArrayList<Integer>) hashMap.get("users")); for (Integer integer : no) { System.out.println(integer); } } |
输出 -
1 2 | 5 10 |
现在将ArrayList转换为Array -