繁体   English   中英

Arraylist 不加

[英]Arraylist doesn't add

关于在 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

您将计算机初始化为一个空列表。

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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM