-2
我有以下字符串类型的全局变量。字符串类型的全局变量
static public String rev="hello"
我可以阅读它没有任何问题从另一个类的对象。无论如何,我可以用另一个类的对象中的另一个字符串更新它吗?我知道Java字符串是不可变的。我试着使用StringBuilder的方式如下:
static public StringBuilder rev=new StringBuilder("hello");
static public void setRev(StringBuilder s)
{
rev=rev.delete(0,rev.length());
rev.append(s);
}
从另一个类:
MainActivity.setRev(stringBuilderVar);
但没有奏效。
Java字符串值是不可变的。 StringBuilders不是。 –
字符串是不可变的,但您可以将字符串_variable_重新分配给不同的字符串。但是你之前使用'rev'(说'someOtherVar = MainActivity.rev'),重新赋值'rev'不会改变你之前复制引用的地方。没有更多的信息,很难说正确的做事方式是什么。但我很确定'StringBuilder'是错误的解决方案。 – ajb
将StringBuilder声明为静态可能是不可变性的原因?我声明为静态的原因是我可以从另一个类访问。 –