Arraylist <String>в ArrayList <string>в Java - PullRequest
0 голосов
/ 04 мая 2011
ArrayList<String> constraints_list=new ArrayList<String>();
    public void setConstraints(ArrayList<String> c)
    {
        c = constraints_list;
        constr = true;
    }

Я хочу, чтобы ArrayList c был ArrayList constraint_list ... как это сделать?

1 Ответ

2 голосов
/ 04 мая 2011

Мне не совсем понятно, что ты хочешь делать. Однако ссылки на объекты передаются по значению в Java, поэтому установка значения c (как в вашем коде) не будет работать. Типичный способ установить c из переменной экземпляра - написать метод получения, а не метод установки:

public ArrayList<String> getConstraints() {
  return constraints_list;
}

Затем вы можете сказать:

ArrayList<String> c = getConstraints();

Если, с другой стороны, вы пытаетесь сделать обратное (установить список ограничений из переданного параметра), то ваше назначение неверное:

public void setConstraints(ArrayList<String> c) {
  constraints_list = c;
  constr = true;
}

Вам также следует подумать, лучше ли сделать копию списка, в этом случае вы можете сделать:

public void setConstraints(ArrayList<String> c) {
  constraints_list = new ArrayList<String>(c);
  constr = true;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...