我认为你误解了一些非常重要的事情。Java 字符串是不可变的,这意味着您无法更改它们。
“我如何以某种方式更改字符串中的文本?”
你不能。字符串中的文本不能更改。它是不可变的。任何涉及更改字符串中文本的“解决方案”在 Java 中都不起作用。(了解?)
当你这样做时:
output.setText(outputString);
outputString = "";
分配不会更改文本字段中显示的值。它只是改变了局部变量所outputString
引用的字符串。
当你这样做时:
output.setText("");
output.setText(outputString);
它不会导致outputString
改变。它只是将显示的文本更改为空,然后立即将其更改为outputString
当前引用的任何内容。
如果您想将文本字段中显示的值更改为空,您只需执行以下操作:
output.setText("");
也许您的想法有误的另一件事是您认为:
output.setText(outputString);
建立文本字段output
和变量之间的关系outputString
......这样当用户输入字段时,outputString
变量会神奇地更新。事实并非如此。事实上,不能这样,因为你不能传递变量的地址。
实际上,output.setText(outputString);
只是将 的值传递outputString
给文本框对象。如果并且当用户在框中键入内容时,这些字符将存储在其他位置,并且仅在您的代码调用output.getText()
.