Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有办法将字符串[某个类的对象]转换为某个类的对象? 私有静态无效方法(){ 列表重复=新建ArrayList(); 对于(int i=0;i_Java_Collections - Fatal编程技术网

Java 有没有办法将字符串[某个类的对象]转换为某个类的对象? 私有静态无效方法(){ 列表重复=新建ArrayList(); 对于(int i=0;i

Java 有没有办法将字符串[某个类的对象]转换为某个类的对象? 私有静态无效方法(){ 列表重复=新建ArrayList(); 对于(int i=0;i,java,collections,Java,Collections,我将得到列表对象的字符串,我想将其转换为列表对象。有没有办法将该字符串转换为List?在一般情况下,答案是否定的。在某些情况下,类的toString方法会生成一个与类中相应的解析方法或构造函数兼容的字符串。然后你可以转换回来。通常,当对象转换为字符串格式时,信息会丢失 是的,这应该是可能的,尽管我没有从你的问题中得到一切 创建对象列表的列表 然后使用 private static void method() { List<HashMap<Integer, String>>

我将得到列表对象的字符串,我想将其转换为列表对象。有没有办法将该字符串转换为List?

在一般情况下,答案是否定的。在某些情况下,类的
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());