克隆js对象
functioncloneObj(obj){
function Clone(){}
Clone.prototype = obj;
var o = new Clone();
for(var a in o){
if(typeof o[a] == "object"){
o[a] = cloneObj(o[a]);
}
}
return o;
}
浅克隆
public classBookFill extends BaseModel implements Cloneable{
publicint aInt;
publicObject clone(){
BookFillo = null;
try{
o= (BookFill)super.clone();
}catch(CloneNotSupportedExceptione){
e.printStackTrace();
}
returno;
}
BookFillbook2=(BookFill) book.clone();
这样就可以了
}
深度克隆
public classObjectCopyUtil {
/**
*@declaration: 深度克隆
* @param:@param obj要克隆的对象
* @param: @return
* @return: Object
* @author: wwl E-mail:724045007@qq.com
*@date: 2017年3月15日
*/
publicstatic Object copy(Object obj) {
ByteArrayOutputStreambos = new ByteArrayOutputStream();
ObjectOutputStream oos =null;
ObjectInputStream ois=null;
Object oo = null;
try{
oos= new ObjectOutputStream(bos);
oos.writeObject(obj);
ois= new ObjectInputStream(new ByteArrayInputStream(bos.toByteArray()));
oo= ois.readObject();
oos.flush();
}catch (Exception e) {
e.printStackTrace();
}finally{
if(ois!=null){
try{
ois.close();
}catch (IOException e) {
e.printStackTrace();
}
}
if(bos!=null){
try{
bos.close();
}catch (IOException e) {
e.printStackTrace();
}
}
if(oos!=null){
try{
oos.close();
}catch (IOException e) {
e.printStackTrace();
}
}
}
return oo;
}
}