我有以下String类型的全局变量。
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);
但它不起作用。
答案 0 :(得分:1)
更新字段的语法对于静态和非静态字段是相同的。只需使用赋值语句:
class Global {
public static String greeting;
}
public class Other {
public static void main(String[] args) {
String newGreeting = "hello";
Global.greeting = newGreeting;
}
}
也就是说,一旦你的程序变大,你可能会想要使用非静态字段。