我想联系两个字符串。
这是我的代码
public class StringTest {
public String concat = "";
public String txt = "Hello "+concat;
protected void print() {
System.out.println("Output: " + txt);
}
public static void main(String[] args) {
StringTest tb = new StringTest();
tb.concat = "World";
tb.print();
}
}
输出:你好
但我需要“Hello World”。 有可能吗?
条件: 不应该重新赋值变量(get / set,inside method)
答案 0 :(得分:2)
要使执行成为动态,您需要一种方法。
public class StringTest {
public String concat = "";
private String txt() { return "Hello "+concat; }
protected void print() {
System.out.println("Output: " + txt());
}
public static void main(String[] args) {
StringTest tb = new StringTest();
tb.concat = "World";
tb.print();
}
}
仅在编写作业=
时计算字段,但每次调用方法时都会对其进行评估。
答案 1 :(得分:0)
一旦以这种方式声明,你就不能改变常量String,而且它也是私有的,你不能在外面访问那个变量。
你几乎在那里,但你必须改变你的结构,连接不会那样。
public class StringTest {
private String txt = "Hello ";
protected void print() {
System.out.println("Output: " + txt);
}
protected void concat(String toBe) {
txt = txt + toBe;
}
public static void main(String[] args) {
StringTest tb = new StringTest();
tb.concat("World");
tb.print();
}
}
答案 2 :(得分:0)
创建StringText时,concat中的值将仅分配给txt变量。动态实例化正确的from to concatenate值,并在print方法中指定此值,如此
numpy.float64
每次调用print方法都会添加concat变量中包含的值。