意外的类型错误

El3*_*1c4 5 java

我是Java的新手,我研究字符串,并且希望将字符串反转。这是我的代码

String myStr = "abcdef"; String reversed = "";
for(int j=myStr.length()-1;j>=0;j--) {
    myStr.charAt(j) += reversed;
}
Run Code Online (Sandbox Code Playgroud)

但这给我一个错误信息:

****.java:14: error: unexpected type
required: variable
found:    value
Run Code Online (Sandbox Code Playgroud)

但是当我用打印时System.out.print(reversed),它可以reversed正确打印。变量和值有什么区别?为什么即使给出错误消息也能给我正确答案?谢谢您的回答,谢谢

Mys*_*ial 5

问题在这里:

myStr.charAt(j) += reversed;
Run Code Online (Sandbox Code Playgroud)

左侧是一个值。不是变量。这就是为什么您不能做到这+=一点。


尽管它克服了学习困难方法的目的,但是您可以像这样:

myStr = new StringBuffer(myStr).reverse().toString();
Run Code Online (Sandbox Code Playgroud)