我有一個關于將元素添加到 ArrayList 的問題,我不明白。結果告訴我它沒有添加兩臺計算機。有人可以幫助我嗎?
Computer computer;
GenerateXML xml;
Parser dom = new Parser();
List computers = new ArrayList();
computer = new Computer("2", "fisso", "Corsair", "Venom 2X", 1029971511, 4.5f, 12, 32, 600, 24.0f, 1900, "Linux", "21-10-2021");
computers.add(computer);
computer = new Computer("3", "laptop", "Microsoft", "Surface", 1000091801, 4.5f, 12, 32, 600, 24.0f, 1900, "Linux", "21-10-2021");
computers.add(computer);
try {
xml = new GenerateXML(computers);
xml.printToFile("computer.xml");
} catch (ParserConfigurationException | TransformerException exception) {
System.out.println("Errore generate!");
}
try{
computers = dom.parseDocument("computer.xml");
} catch (ParserConfigurationException | SAXException | IOException exception){
System.out.println("Errore parsing!");
}
System.out.println("Numero computers: " computers.size());
for (int i = 0; i < computers.size(); i )
System.out.println(computers.get(i));
結果是:
Numero computers: 0
uj5u.com熱心網友回復:
您將計算機初始化為空串列。
List computers = new ArrayList();
然后您將兩臺計算機添加到您的串列中。
computer = new Computer("2", "fisso", "Corsair", "Venom 2X", 1029971511, 4.5f, 12, 32, 600, 24.0f, 1900, "Linux", "21-10-2021");
computers.add(computer);
computer = new Computer("3", "laptop", "Microsoft", "Surface", 1000091801, 4.5f, 12, 32, 600, 24.0f, 1900, "Linux", "21-10-2021");
computers.add(computer);
此時,您的計算機串列將包含兩臺計算機。串列的大小將是兩個。
然后您為第二個 try/catch 塊中的計算機串列分配一個新值。通過這樣做,您將丟失之前創建和填充的串列。在此之后,計算機將是一個全新的串列。
computers = dom.parseDocument("computer.xml");
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/397756.html
