Java 如何在一个HashMap中设置多个数据类型?
我正在尝试在android应用程序的hashmap中设置多个值。有些值是Java 如何在一个HashMap中设置多个数据类型?,java,android,hashmap,Java,Android,Hashmap,我正在尝试在android应用程序的hashmap中设置多个值。有些值是String,我想发送的一个值是我创建的onlineestresultpojo对象数组。下面是我想要实现的代码 onlineestresultpojo[]records=db.resultDao().getRecords(); HashMap=newHashMap(); map.put(“dbname”,dbname); 地图放置(“类”,clas); map.put(“rollno”,rollno); map.put(“访
String
,我想发送的一个值是我创建的onlineestresultpojo
对象数组。下面是我想要实现的代码
onlineestresultpojo[]records=db.resultDao().getRecords();
HashMap=newHashMap();
map.put(“dbname”,dbname);
地图放置(“类”,clas);
map.put(“rollno”,rollno);
map.put(“访问令牌”,accessToken);
地图放置(“记录”,记录);
显然,它在最后一行中给出了错误,因为它不是字符串
,但是否可以在一个HashMap
中设置所有这些内容?我尝试用String.valueOf(records)
包装它,但这破坏了对象的工作,从而产生了意外的结果。要实现此目的,是否有其他解决方案?按如下方式创建地图:
HashMap<String, Object> map = new HashMap<>();
HashMap map=newhashmap();
只需像这样声明您的地图:
HashMap<String, Object> map = new HashMap<>();
HashMap map=newhashmap();
e、 值的对象类型。您可以将对象设置为字符串,并将其作为字符串保存到HashMap
// serialize the object
try {
ByteArrayOutputStream bo = new ByteArrayOutputStream();
ObjectOutputStream so = new ObjectOutputStream(bo);
so.writeObject(myObject);
so.flush();
serializedObject = bo.toString();
} catch (Exception e) {
System.out.println(e);
}
// deserialize the object
try {
byte b[] = serializedObject.getBytes();
ByteArrayInputStream bi = new ByteArrayInputStream(b);
ObjectInputStream si = new ObjectInputStream(bi);
MyObject obj = (MyObject) si.readObject();
} catch (Exception e) {
System.out.println(e);
}