具有int值的setter表示int无法解除引用,并且字符串值无法找到该方法。我可能完全不明白,但他们看起来很好。
请指教,谢谢!
private void setMachineID(int machineID) {
machineID.set(machineID);
}
public int getMachineID(){
return machineID.get();
}
public IntegerProperty machineIDProperty(){
return machineID;
}
}
答案 0 :(得分:2)
您对字段和方法参数使用相同的标识符。
如果在代码的一部分中有多个具有相同标识符的变量,则java将使用声明的变量" close"这部分代码。
在这种情况下,方法参数的范围是"更接近"方法体比字段。因此,您必须明确告诉java您要使用该字段,而不是方法参数。
您需要像这样添加更改您的setter:
<强>之前强>
private void setMachineID(int machineID) {
machineID.set(machineID);
// ^^^^^^^^^ references method parameter
// ^^^^^^^^^ references method parameter
}
<强>后强>
private void setMachineID(int machineID) {
this.machineID.set(machineID);
// ^^^^^^^^^^^^^^ References field
// ^^^^^^^^^ references method parameter
}