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
。将不计算=
运算符的左侧。