我在A级宣布了我的arraylist:
private ArrayList<String> user = new ArrayList<String>();
我在同一个类(A类)中创建了我的getter方法:
public ArrayList<String> getUser()
{
return user;
}
然后在我的第二堂课(B班)中,我能够做到以下几点:
A UD = new A();
UD.getUser().clear();
UD.getErrmsg().clear();
如何阻止我的第二堂课清除第一堂课(A班)中的arraylist?
答案 0 :(得分:5)
您可以使用Collections
类中的方法:return Collections.unmodifiableList(user);
您可能需要其他各种方法,包括地图等方法。只需看一下documentation。
答案 1 :(得分:2)
getter 和 setter的解决方案:
public void setMyList(final List<String> list)
{
myList = new ArrayList<>(list);
}
public List<String> getMyList()
{
return Collections.unmodifiableList(list);
}
使用番石榴:
public void setMyList(final List<String> list)
{
myList = ImmutableList.copyOf(list);
}
public List<String> getMyList()
{
return list;
}
如果你负担得起,可以使用番石榴。