Java 有没有办法将字符串[某个类的对象]转换为某个类的对象? 私有静态无效方法(){ 列表重复=新建ArrayList(); 对于(int i=0;i
我将得到列表对象的字符串,我想将其转换为列表对象。有没有办法将该字符串转换为List?在一般情况下,答案是否定的。在某些情况下,类的Java 有没有办法将字符串[某个类的对象]转换为某个类的对象? 私有静态无效方法(){ 列表重复=新建ArrayList(); 对于(int i=0;i,java,collections,Java,Collections,我将得到列表对象的字符串,我想将其转换为列表对象。有没有办法将该字符串转换为List?在一般情况下,答案是否定的。在某些情况下,类的toString方法会生成一个与类中相应的解析方法或构造函数兼容的字符串。然后你可以转换回来。通常,当对象转换为字符串格式时,信息会丢失 是的,这应该是可能的,尽管我没有从你的问题中得到一切 创建对象列表的列表 然后使用 private static void method() { List<HashMap<Integer, String>>
toString
方法会生成一个与类中相应的解析方法或构造函数兼容的字符串。然后你可以转换回来。通常,当对象转换为字符串格式时,信息会丢失 是的,这应该是可能的,尽管我没有从你的问题中得到一切
创建对象列表的列表
然后使用
private static void method() {
List<HashMap<Integer, String>> repeating = new ArrayList<>();
for(int i = 0; i < 5; i++) {
HashMap<Integer, String> group = new HashMap<>();
group.put(958, "958value-" + i);
group.put(959, "959value-" + i);
group.put(960, "960value-" + i);
repeating.add(group);
}
/*Is there any way to change listObj to again List object*/
String listObj = repeating.toString();}
for(Map.Entry:yourmap.entrySet()){
新列表lst;
添加(新对象(entry.getkey,entry.getvalue));
但是我建议你不要使用和映射我不明白你为什么需要它。如果你想在它上面迭代,你可以使用序列化而不是toString。 看看格森/杰克逊。 该库允许将对象转换为字符串并将字符串解析回对象 例如,Gson允许您将任何对象转换为JSON,然后通过以下方式返回到该对象:
for (Map.Entry<String, String> entry : yourmap.entrySet()) {
new List<YourObject> lst;
lst.add(new Object(entry.getkey, entry.getvalue));
List list1=new ArrayList();
//填充列表
Gson Gson=新的Gson();
字符串jsonifiedList=gson.toJson(列表1);
然后使用列表的字符串形式执行所需操作并检索它:
List<String> list1 = new ArrayList<>();
// Populate the list
Gson gson = new Gson();
String jsonifiedList = gson.toJson(list1);
List list2=gson.fromJson(jsonifiedList,new-TypeToken(){}.getType());
如果您的列表包含更复杂的对象,您可能需要在
Gson
对象中添加JsonSerializer
,以便它知道如何创建和解析JSON。在大多数情况下,不是,但是如果您知道列表的结构,您可能能够将其映射到其他类型-是的。但是您必须根据这一点自行解析结构。
List<String> list2 = gson.fromJson(jsonifiedList, new TypeToken<List<String>>(){}.getType());