我在设置获取元素并设置为自定义值类型时遇到问题。这是我的自定义类型类用户
public class User {
private List<Integer> FriendList=new ArrayList<Integer>(); //Uid list
private HashMap<String,String> CheckinMap =new HashMap<String, String>(); // location and time
private int Uid;
public User(int uid){
this.Uid=uid;
}
public int getId(){
return Uid;
}
public void setCheckins(HashMap<String,String> InMap){
this.CheckinMap=(HashMap<String, String>) InMap;
}
public void setAFriend(int uid){
this.FriendList.add(uid);
}
}
然后,我解析一个 JSON 数组来获取数据,我确信在这里解析 JSON 是没问题的。
HashMap<Integer,User> UserMap =new HashMap();
HashMap<String,String> InMap =new HashMap();
for(i=0;i<users.size();i++){
JSONObject auser=(JSONObject)users.get(i);
temp_uid=Integer.parseInt(auser.get("uid").toString());
UserMap.put(temp_uid, new User(temp_uid));
JSONArray checkins=(JSONArray)auser.get("check-ins");
for(j=0;j<checkins.size();j++){
InMap.put( ((ArrayList) checkins.get(j)).get(0).toString(), ((ArrayList) checkins.get(j)).get(1).toString());
}
UserMap.get(i).setCheckin(InMap);
checkin_cnt=checkin_cnt+checkins.size();
}
我的 Eclipse 告诉我有一个例外java.lang.NullPointerException
。
UserMap.get(i).setCheckin(InMap);
我可以只初始化 Uid ,但稍后设置 FriendList 和 CheckinMap 吗?这听起来很有线。请给我一些提示或建议。谢谢