0

如果我使用java.beans.XMLEncoder (Java 1.6)对类进行编码,如下所示:

fileOutputStream = new FileOutputStream(someFile);
XMLEncoder xmlEncoder = new XMLEncoder(fileOutputStream);

xmlEncoder.writeObject(anyObject);
xmlEncoder.close();

someFile当我在不同的物理机器(也使用 Java 1.6)上运行时,写入的结果具有不同的元素顺序。

对由 编码的对象的字段顺序有任何保证XMLEncoder吗?

如果不是,我如何强制执行每次对对象进行 xml 编码时都相同的排序?

4

1 回答 1

0

原因是在机器 A 上,程序在 IBM JVM 上运行,而在机器 B 上,程序在 Sun JVM 上运行。IBM 和 Sun JVM的实现似乎XMLEncoder不同。

于 2014-10-09T17:07:30.763 回答