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 で実行されたためです。の実装はXMLEncoder、IBM と Sun の JVM で異なるようです。

于 2014-10-09T17:07:30.763 に答える