如何创建一个引用其他变量的数组?

时间:2016-10-27 05:40:47

标签: java arrays collections

我正在尝试创建一个可以包含其他可以访问或更改的变量的数组(或集合),并将更改反映在数组之外。

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

2 个答案:

答案 0 :(得分:1)

类型不应该是原始类型。如果你想改变变量autoTakeStepMode,你应该用class包装它。

public class AutoTakeStepMode {
     boolean isOpen;
}

答案 1 :(得分:0)

  

当我尝试访问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];

}