我有一个代码:
int q = 2;
int w = 3;
String str = "q = " + q + "\nw = " + w;
q++;
System.out.println(x+q);
是否可以在str中刷新q,因此输出不是q = 2,而是q = 3?
我的实际字符串更大,并且有更多参数。 它看起来很糟糕,因为我必须在5种不同的方法中使用它。
答案 0 :(得分:1)
变量str是不可变的,一旦创建就不能改变它
答案 1 :(得分:1)
创建一个包含所有参数的类,并为需求生成一个字符串,如:
class MyStringGenerator{
private int q;
private int w;
setQ(int q ){
this.q = q;
}
setW( int w ){
this.w = w;
}
public String getMyString(){
return String.format("q = %d \nw = %d", q, w);
}
}
和
MyStringGenerator msg = new MyStringGenerator();
int q = 2;
int w = 3;
msg.setQ( q );
msg.setW( w );
String str = msg.getMyString();
q++;
System.out.println(x+q);
msq.setQ( q ); // set a new value of Q
String newString = msg.getMyString();