1

我的道具类:

public class Props {
    private static String name; 
    private static float price;

    //normal getters and setters;
}

我的 XML

<root>
<Props>
  <name>Test1</name>
  <ownedBy>NULL</ownedBy>
  <price>1000</price>
</Props>
<Props>
  <name>Test2</name>
  <ownedBy>NULL</ownedBy>
  <price>1000</price>
</Props>
</root>

现在当我调用in.readObject();两次(作为我的对象输入流)时,我得到了错误:

com.thoughtworks.xstream.converters.ConversionException: Could not set field class  
com.mwerner.main.Props.name : null : Could not set field class 
com.mwerner.main.Props.name : null

我在一个单独的项目中尝试了代码,它工作得很好。现在在更大的主项目中,我在一个名为initProps();“那”的自定义方法中调用了整个事情,这一切都陷入了困境。为什么?

4

1 回答 1

1

我找到了解决方案。

我根据 XStream 教程编写了一个自定义转换器。对于 unmarshal 方法,我只是reader.MoveDown(); setvalue... reader.MoveUp();为其余字段添加了更多级别。

于 2013-10-04T13:59:30.990 回答