0

当我序列化一个类对象时:

class MyClass{

   String value;
   public MyClass(){}

   public void setValue(String value){
      this.value = value;
   }

   public String getValue(){
      return value;
   }

}

并像这样序列化它:

 MyClass c1 = new MyClass();
    c1.setValue("this is a value");
    Map<String, Object> result = new HashMap<String, Object>();

    result.put("MyClass", c1);
    Yaml yaml = new Yaml();
    String output = yaml.dump(result);

工作得很好。但是,现在如果在我的课堂上我有另一个值,例如:

class MyClass{

   String value;
   Map<Integer, AnotherClass> MyList
   public MyClass(){}

   public void setValue(String value){
      this.value = value;
   }

   Map<Integer, AnotherClass> CList = new HashMap<Integer, AnotherClass>();
   public void setList(AnotherClass AL){
      CList.put(1,AL);
      this.MyList = CList;
   }

   public String getValue(){
      return value;
   }

}

现在我重复一遍,程序可以工作,但在序列化输出中,我看不到这个 HashMap。有什么问题,是否有一些不同的方法用于序列化 HashMap 类型的对象?请建议....

4

1 回答 1

0

地图没有吸气剂,这就是它被忽略的原因。

于 2011-12-13T16:55:24.030 回答