gpt4 book ai didi

java - 无法在 ArrayList 中添加对象?

转载 作者:行者123 更新时间:2023-11-29 10:19:02 24 4
gpt4 key购买 nike

您好,我正在尝试将一个对象添加到 Arraylist 中,我正在使用 Java。但它并没有像我预期的那样工作。

假设我们有一个类Sentence,所以代码看起来像

ArrayList<Sentence> result = new ArrayList<Sentence>();
for (int i =0; i<10;i++)
{
Sentence s = new Sentence(i.toString(),i);
//there is a string and an int in this Sentence object need to be set
result.add(s);
}

上面的那个工作正常。但是我想加速我的代码,所以我尝试只新建一个对象,代码变成:

ArrayList<Sentence> result = new ArrayList<Sentence>();
Sentence s = new Sentence(" ",0);
for (int i =0; i<10;i++)
{
s.setString(i.toString());
s.setInt(i);
result.add(s);
}

但是,在这种情况下,我的结果将变为空。我想我确实更改了对象 s 中的内容,但我不知道为什么它在 result.add(s) 期间不起作用。

非常感谢您的回复。

最佳答案

您的 s 变量总是引用同一个对象。看起来您要添加同一个对象 10 次,到 for 循环结束时,它的字符串将等于 "9" 并且它的 int 等于 9

关于java - 无法在 ArrayList 中添加对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10291938/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com