2014-10-14 2 views
-2

나는이처럼 Vector에 포함 된 String을 편집 할 수있는 방법을 찾고 있어요 :문자열 편집은

vector.lastElement()=vector.lastElement()+"\n"+string; 

나는 다음과 같은 컴파일 오류가 얻을 :

The left-hand side of an assignment must be a variable

+0

를 호출해야합니다, 당신은 거의 새로운 코드에'Vector'를 사용해서는 안됩니다. 대신에'ArrayList'를 사용하십시오. – chrylis

+0

'= '연산자의 왼쪽은 평가되지 않습니다. – afzalex

답변

4

당신은 할 수 있습니다 이런 식으로하지 마십시오. vector.lastElement() 문자열을 반환합니다 (귀하의 경우). 이 String을 변수에 할당 할 수는 있지만 아무 것도 지정할 수는 없습니다.

또한 String은 변경할 수 없으므로 Vector 내에 포함 된 String을 변경할 수 없습니다. 당신이 새로운 문자열로 벡터의 마지막 요소를 대체 할 수있는 일

는 :

vector.setElementAt(vector.lastElement()+"\n"+string,vector.size()-1); 
+3

불변성이 여기서 문제가되지 않는다고 생각합니다. 'vector.lastElement()'는 유효한 lvalue가 아닙니다. –

+0

@HunterMcMillen하지만 OP가 Eran 코드를 사용하여 원하는대로 할 수 있기 때문에 괜찮습니다. – afzalex

+0

@HunterMcMillen 네 말이 맞아. 그것은 주요 문제가 아니 었습니다. 나는 나의 대답을 업데이트했다. – Eran

2

The left-hand side of an assignment must be a variable

무슨 일이 마지막 요소를 반환하는 기능 vector.lastElement()를 호출하는 것입니다. 당신이 마지막 요소를 설정하려면 당신이 실제 오류 외에도

vector.set(vector.size() -1 , vector.lastElement()+"\n"+string) 
관련 문제