Java 如何在一个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(“访

我正在尝试在android应用程序的hashmap中设置多个值。有些值是
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);
 }