當構造乙個複雜耗時的物件的時候,而且實際用的時候僅僅只是需要改動一小部分,這個時候我們往往會想到使用實現cloneable介面來開啟物件轉殖。但是這裡有乙個問題就是,對於自定義物件無法支援深拷貝,hashmap實現了cloneable介面,自然也是存在這種問題的。
public
class
test3
}
cn.itoak.storm.clone.person@4dd8dc3
cn.itoak.storm.clone.person@4dd8dc3
核心:requiredcloneable介面
public
inte***ce
requiredcloneable
extends
cloneable
核心:自定義deepclonehashmap
public
class
deepclonehashmap
requiredcloneable
>
extends
hashmap
}
以上兩段**可直接使用,需要注意的地方:
(1)v extends requiredcloneable,限制v的型別;
(2)value.clone(),這個就是為什麼需要使用requiredcloneable介面的原因
自定義person類
public
class
person
implements
requiredcloneable
catch
(clonenotsupportedexception e)
return null;
}}
public
class
test
}
cn.itoak.storm.clone.person@46f7f36a
cn.itoak.storm.clone.person@421faab1
以上是筆者在工作中發現的問題,以及最後的解決方案,以上方案不會處理更深層次的拷貝,意思也就是說不會拷貝person類中自定義的類,由於筆者的問題不涉及更深次的拷貝,因而也沒有繼續處理,這裡僅僅是拋磚引玉,提供一種解決思路吧。 mysql不支援 MySQL不支援的特性
mysql 1 不支援物化檢視。2 不支援位圖索引。3 不支援並行查詢。4 不支援雜湊關聯,mysql的所有關聯都是巢狀迴圈關聯。不過,可以通過建立乙個雜湊索引來曲線實現。5 不允許對同一表同時進行查詢和更新。報錯 update tb1 as outer tb1 set cnt select cou...
rsyslog input 不支援變數
input type imfile file usr local apache tomcat 7.0.55 8082 logs localhost access log.txt tag zjzc api access01 severity info facility local5 不支援這種寫法 i...
linux vi 不支援中文
問題說明 網頁html與chi語言的結合,使用c語言輸出html語句,因為其中用到中文,出現亂碼 問題解決 1.在cgi中用到的 使用utf 8編碼,utf 8是國際統一的中文編碼 具體語句為 fprintf cgiout,metacharset utf 8 參考文章 2.上述步驟完成後,重新編譯,...