从 Vector 获取元素时出现意外输出



我是Java中矢量用法的新手,这里的问题是Vector没有显示预期的输出(正确的输出:Pollo - Ercole 这段代码输出Ercole - Ercole)

.

类双边形

public class Dipendente 
{
    private String Id;
    void setId(String exId)
    {
    Id=exId;
    }
    String getId()
    {
    return Id;
    }
}

阿兹恩达类

public class Azienda 
{      
    private Vector<Dipendente> Dip = new Vector<Dipendente>();
    public static void main(String[] args) throws IOException
    {
        Azienda az = new Azienda();
        az.dip.setId("Pollo");
        az.Dip.add(az.dip);
        az.dip.setId("Ercole");
        az.Dip.add(az.dip);
            //io.pf is System.out.println(strOut);
        az.io.pf(az.Dip.get(0).getId());
        az.io.pf(az.Dip.get(1).getId());
    }
}

正确输出:波罗 - 埃尔科莱

此代码输出:埃尔科莱 - 埃尔科莱

您必须创建对象的新实例。无论如何,您的代码都是部分的,因为我们不知道什么是 az.dip。但假设它是Dipendente的一个实例。您需要执行以下操作才能正常工作。

    Azienda az = new Azienda();
    Dipendente dip = new Dipendente();
    dip.setId("Pollo");
    az.Dip.add(dip);
    Dipendente dip = new Dipendente();
    dip.setId("Ercole");
    az.Dip.add(az.dip);
        //io.pf is System.out.println(strOut);
    az.io.pf(az.Dip.get(0).getId());
    az.io.pf(az.Dip.get(1).getId());

当您第二次调用 setId 时,在您的答案中,它会更改您之前使用的对象的值,因此您会看到重复的条目。

最新更新