我有一個私人領域和公共方法的類。我的方法遵循get/set命名約定。當我的字段是私人的,並且我嘗試將我的對象數據寫入XML文件時,我得到一個空的XML文件,但是當我將它們更改爲public時,XML包含所有必需的數據。你認爲這是什麼造成的?XMLEncoder當類字段是私人時不寫對象數據
public class ClassData {
private String name;
private ArrayList<String> methods;
public ClassData()
{
methods = new ArrayList<>();
}
public void setName(String cName)
{
name = cName;
}
public String getName()
{
return name;
}
public void setMethods(String mName)
{
methods.add(mName);
}
public ArrayList<String> getMethods()
{
return methods;
}
}
String fileName = cObj.getName() + ".xml";
XMLEncoder enc=null;
try{
enc=new XMLEncoder(new BufferedOutputStream(new FileOutputStream(fileName)));
}catch(FileNotFoundException fileNotFound){
System.out.println("Unable to save file.");
}
enc.writeObject(cObj);
enc.close();
你在說什麼XMLEncoder? – f1sh
@ f1sh更新後的XML代碼。我正在使用java.beans.XMLEncoder – Brosef