Java 编辑向量中的字符串

Java 编辑向量中的字符串,java,string,vector,Java,String,Vector,我正在寻找一种方法来编辑向量中包含的字符串,如下所示: vector.lastElement()=vector.lastElement()+"\n"+string; 我发现以下编译错误: 赋值的左侧必须是变量 你不能这样做vector.lastElement()返回一个字符串(在您的示例中)。可以将此字符串指定给变量,但不能为其指定任何内容 此外,由于字符串是不可变的,所以不能更改向量中包含的字符串 您可以做什么用新字符串替换向量的最后一个元素: vector.setElementAt(vec

我正在寻找一种方法来编辑
向量
中包含的
字符串
,如下所示:

vector.lastElement()=vector.lastElement()+"\n"+string;
我发现以下编译错误:

赋值的左侧必须是变量


你不能这样做
vector.lastElement()
返回一个字符串(在您的示例中)。可以将此字符串指定给变量,但不能为其指定任何内容

此外,由于字符串是不可变的,所以不能更改向量中包含的字符串

您可以做什么用新字符串替换向量的最后一个元素:

vector.setElementAt(vector.lastElement()+"\n"+string,vector.size()-1);
赋值的左侧必须是变量

发生的情况是调用一个函数
vector.lastElement()
,该函数将返回最后一个元素。 如果要设置必须调用的最后一个元素

vector.set(vector.size() -1 , vector.lastElement()+"\n"+string)

我不认为不变性是这里的问题,
vector.lastElement()
不是一个有效的左值。@HunterMcMillen但我认为,因为OP可以通过使用Eran的代码来做他想做的事情,所以没关系。@HunterMcMillen你是对的。这不是主要问题。我更新了我的答案。除了实际的错误,你几乎不应该在新代码中使用
Vector
。改用
ArrayList
。将不计算
=
运算符的左侧。