【发布时间】:2012-05-04 17:41:32
【问题描述】:
您好,我正在尝试将对象添加到 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) 期间不起作用。
非常感谢您的回复。
【问题讨论】:
-
您确定您的结果“将变为空”吗?您应该得到一个包含 10 个对同一对象的引用的列表。
-
这不是优化,你不需要它。
标签: java optimization