观察下面两段代码,发现只是map的声明位置不一样,可是运行出的结果却相去甚远。code
//代码一 List<HashMap<String, Object>> mMenuData = new ArrayList<>(); HashMap<String, Object> map = new HashMap<>(); for (int i = 0; i < menuShareImg.length; i++) { map.put("shareStr", menuShareStr[i]); map.put("shareImg", menuShareImg[i]); mMenuData.add(map); }
//代码二 List<HashMap<String, Object>> mMenuData = new ArrayList<>(); for (int i = 0; i < menuShareImg.length; i++) { HashMap<String, Object> map = new HashMap<>(); map.put("shareStr", menuShareStr[i]); map.put("shareImg", menuShareImg[i]); mMenuData.add(map); }
代码一会产生上述问题,代码二则能消除问题。List