gpt4 book ai didi

java - 使用 Java 将对象添加到 Vector 会丢失引用?

转载 作者:行者123 更新时间:2023-11-29 09:46:27 25 4
gpt4 key购买 nike

我有一个包含许多对象的 Vector。我的代码使用循环根据特定条件将对象添加到 Vector。我的问题是,当我将对象添加到 Vector 时,是将原始对象引用添加到 vector 还是 Vector 创建对象的新实例并将其添加?

例如,在下面的代码中:

private Vector numbersToCalculate;
StringBuffer temp = new StringBuffer();

while(currentBuffer.length() > i) {
//Some other code
numbersToCalculate.add(temp);
temp.setLength(0); //resets the temp StringBuffer
}

我正在做的是将“temp”StringBuffer 添加到 numbersToCalculate vector 中。我应该在循环中创建一个新的 StringBuffer 并添加它,还是这段代码可以工作?感谢您的帮助!

埃里克

最佳答案

每次都需要创建一个新的StringBuffer。 Vector 中的每个 item 项只是指向同一个 StringBuffer 对象的指针,因此每次通过循环时,您都在重置 stringbuffer 的单个实例并添加对 Vector 的相同引用。

只需将 temp.setLength(0); 替换为 temp = new StringBuffer();

关于java - 使用 Java 将对象添加到 Vector 会丢失引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2396721/

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