以下类是不可变的:
final class MyClass {
private final int[] array;
public MyClass(int[] array){
this.array = array;
}
}
Run Code Online (Sandbox Code Playgroud)
Jar*_*Par 21
不,不是因为数组的元素仍然可以更改.
int[] v1 = new int[10];
MyClass v2 = new MyClass(v1);
v1[0] = 42; // mutation visible to MyClass1
Run Code Online (Sandbox Code Playgroud)
关于不变性规则的两分钱(我从阅读有效Java中保留了这一规定 - 一本好书!):
| 归档时间: |
|
| 查看次数: |
1739 次 |
| 最近记录: |