Arraylist в ArrayList в java

#java #insert #arraylist

#java #вставить #arraylist

Вопрос:

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

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

Комментарии:

1. Я предполагаю, что это Java. Если нет, пожалуйста, измените ваши теги соответствующим образом.

Ответ №1:

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

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

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

 ArrayList<String> c = getConstraints();
  

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

 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;
}