以下代码是从java编写的。我需要通过函数动态更改变量值。我们如何在下面的[[changeValue function下面写?有什么方法可以将变量引用传递给函数?
public class Project{
private int value1;
private int value2;
private int value3;
private int value4;
public static void main(String[] args) {
this.changeValue("value1",10)
this.changeValue("value2",25)
this.changeValue("value3",30)
this.changeValue("value4",40)
}
public String changeValue(String varName,String value){
if(varName=="value1"){
this.value1=value
}else if(varName=="value2"){
this.value2=value
}else if(varName=="value3"){
this.value3=value
}else if(varName=="value3"){
this.value4=value
}
}
}
String
存储在int
中-String value
应该为int value
。您无法使用static
等中的this
从main
上下文调用实例方法。但是,对于您的问题,是您可以使changeValue
较短,将值存储在数组中。同样,changeValue
不会返回String
-但是,如果使它返回Project
,则可以将呼叫链接到changeValue()
。喜欢,
private int[] values = new int[4];
public static void main(String[] args) {
Project p = new Project();
p.changeValue("value1", 10).changeValue("value2", 25)
.changeValue("value3", 30).changeValue("value4", 40);
System.out.println(p);
}
public Project changeValue(String varName, int value) {
int i = Character.digit(varName.charAt(varName.length() - 1), 10) - 1;
values[i] = value;
return this;
}
@Override
public String toString() {
return Arrays.toString(values);
}