1

这个问题提出了围绕代码的问题,如下所示(从那个问题复制):

public MyClass {
    public void initialize(Collection<String> data) {
        this.data = data; // <-- Bad!
    }
    private Collection<String> data;
}

存储引用会通过不小心将数据注入私有字段来打开错误之门data。Aaron Digulla 接受的答案建议Collection.setUnmodifiable(set);在传递之前冻结集合的策略,但他提到权衡是性能损失,因为任何想要修改集合的人都需要复制它,更改它,然后将其保存回来.

在资源极其有限的 Android 环境中处理此问题时是否有任何最佳实践?

4

1 回答 1

3

在我看来,只需保留参考。一个 android 应用程序不包含太多代码,您或您的开发团队控制所有源代码。因此,最简单的解决方案适用于大多数情况。

于 2012-12-15T01:59:13.963 回答