![]() |
1
13
算子
相当于:
现在,正如所评论的,这似乎打破了不变性,但事实并非如此。 您应该将此代码视为执行此操作:
这将在内存中保留两个对象,即原始的biginteger值和现在由b引用的新对象。您可以轻松检查以下代码是否会发生这种情况:
所以原来的对象没有改变,所以它不打破不变性,要回答新的部分的问题,这应该是线程安全的。 这与字符串发生的情况相同:
|
![]() |
2
3
由于biginteger是不可变的,因此B++将仅等于:
执行此操作后,GC将回收temp并释放内存。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 6 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 6 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 6 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 6 月前 |