Why final is not applied for Map ? | |
---|---|
Prabhat Ranjan Ranch Hand Joined: Oct 04, 2006 Posts: 374 |
posted 2010年11月16日 GMT+8下午8:00:19
![]() ![]() ![]() |
![]() | |
Matthew Brown Bartender Joined: Apr 06, 2010 Posts: 4115
4
|
posted 2010年11月16日 GMT+8下午8:02:20
![]() ![]() ![]() |
![]() | |
Paul Sturrock Bartender Joined: Apr 14, 2004 Posts: 10336 |
posted 2010年11月16日 GMT+8下午8:09:12
![]() ![]() ![]() |
如果要实现HashMap不可被修改,即如果不可变类的成员变量是可变的(譬如HashMap),我们需要使用深拷贝(deep copy)或者克隆来防止成员变量被更改:
private
final
HashMap testMap;
……
……
……
/**
* 可变对象的访问方法
*/
public
HashMap getTestMap() {
//return testMap;
return
(HashMap) testMap.clone();
}