我正在尝试创建一个数组(或集合),该数组可以包含可以访问或更改的其他变量,并将更改反映在数组之外。
boolean autoTakeStepMode = false;
boolean[] settings = {autoTakeStepMode};
String[] settingsMessages = {"Enable auto-take-step mode (y/n)?"};
String response = "";
for (int i = 0; i < settingsMessages.length; i++) {
response = ui.getYesNoResponse(settingsMessages[i]);
if (response.equals("y"))
settings[i] = true;
else if (response.equals("n"))
settings[i] = false;
}当我尝试访问autoTakeStepMode时,它总是等于它的默认值false。
发布于 2016-10-27 06:09:03
当我尝试访问autoTakeStepMode时,它总是等于它的默认值false
这是实际的行为。如果您想更新autoTakeStepMode的值,那么也要与settings[i]一起更新它。
for (int i = 0; i < settingsMessages.length; i++) {
response = ui.getYesNoResponse(settingsMessages[i]);
if (response.equals("y"))
settings[i] = true;
else if (response.equals("n"))
settings[i] = false;
autoTakeStepMode = settings[i];
}发布于 2016-10-27 05:51:35
类型不应该是基元类型。如果您想要更改变量autoTakeStepMode,应该用类包装它。
public class AutoTakeStepMode {
boolean isOpen;
}https://stackoverflow.com/questions/40276920
复制相似问题