我是Java中Vector用法的新手,这里的问题是Vector没有显示预期的输出(正确的输出:Pollo-Ercole此代码输出Ercole-Ercole)
.
Dipendente类
public class Dipendente
{
private String Id;
void setId(String exId)
{
Id=exId;
}
String getId()
{
return Id;
}
}
Azienda类
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());
}
}
正确的输出:Pollo-Ercole
此代码输出:Ercole-Ercole
答案 0 :(得分:0)
您必须创建该对象的新实例。无论如何,您的代码是不完整的,因为我们不知道什么是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时,它正在更改您先前使用的对象的值,因此您会看到重复的条目。