ArrayList<String> constraints_list=new ArrayList<String>();
public void setConstraints(ArrayList<String> c)
{
c = constraints_list;
constr = true;
}
我想让ArrayList c成为ArrayList constraint_list ... 怎么做?
答案 0 :(得分:2)
我不清楚你想做什么。但是,对象引用是通过Java中的值传递的,因此设置c
的值(如在代码中)将不起作用。从实例变量设置c
的典型方法是编写getter而不是setter:
public ArrayList<String> getConstraints() {
return constraints_list;
}
然后你可以说:
ArrayList<String> c = getConstraints();
另一方面,如果您正在尝试相反(从传入的参数中设置constraints_list),那么您的分配是错误的方式:
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;
}