Hi zusammen,
folgender Test:
Test-Ausgabe
Output:
Nun meine Frage:
Warum wird die Member-Variable "B" der Klasse "Foo" trotzdem "transient" geschrieben?
Was mache ich falsch?
Gruß
folgender Test:
Java:
public class Foo implements Serializable {
private boolean a;
private transient boolean b;
public Foo() {
a = false;
b = false;
}
public boolean isA() {
return a;
}
public void setA(boolean a) {
this.a = a;
}
public boolean isB() {
return b;
}
public void setB(boolean b) {
this.b = b;
}
}
Test-Ausgabe
Java:
public static void main(String[] args) {
Foo testFoo = new Foo();
testFoo.setA(true);
testFoo.setB(true);
XMLEncoder xmlEncoder = new XMLEncoder(System.out);
xmlEncoder.writeObject(testFoo);
xmlEncoder.close();
}
Output:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.7.0_60" class="java.beans.XMLDecoder">
<object class="transienttest.Foo">
<void property="a">
<boolean>true</boolean>
</void>
<void property="b">
<boolean>true</boolean>
</void>
</object>
</java>
Nun meine Frage:
Warum wird die Member-Variable "B" der Klasse "Foo" trotzdem "transient" geschrieben?
Was mache ich falsch?
Gruß