你期望不可变列表的不变性有多深?

jju*_*uma 6 c# java collections immutability

如果你有一个不可变列表,你希望它总是在你要求的时候返回对同一个对象的引用

list.get(0)
Run Code Online (Sandbox Code Playgroud)

我的问题是,您是否希望能够改变对象并在下次从列表中获取突变时反映出变异?

Mar*_*ell 8

这取决于具体情况.在通用库中,我们应该假设列表是不可变的.该元素的变化该列表将反映对所有主叫方,因为每次返回相同的参考的直接后果.

但是,如果这是一个专门的不可变树(或其他),并且记录如此,那么你会希望列表中的项本身是不可变的,这就成了一个没有实际意义的问题.