首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java对象引用

Java对象引用
EN

Stack Overflow用户
提问于 2013-05-21 13:05:28
回答 1查看 386关注 0票数 2

这是关于另一个类实例变量返回的ArrayList的用法。

代码语言:javascript
复制
Class A {

    //assigned list of string to it.
    private List < String > newAl;
    //returns the list
    public List < String > getList() {
        return newA1;
    }
}

Class Test {

    public void go() {
        List < String > list = a.getList();
        list.add("");
    }

}

在测试类中,当我检索列表并操作引用的list.Because时,A类列表也得到了manipulated.If A是第三方code.How的一部分。我是否要更正测试类中的代码,以便原始对象不会受到影响?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-21 13:10:35

ArrayList constructor接受一个集合,因此您可以使用它:

代码语言:javascript
复制
List<String> list = new ArrayList(a.getList());

我认为这样做更好,但根据您正在做的事情,您可能想要在getter中构造新的列表。这也有助于隐藏类型。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16662472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档