当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

深拷贝

发表于: 2010-05-25   作者:luedipiaofeng   来源:转载   浏览:
摘要: <!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> import  java.io. * ;
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> import  java.io. * ;

public   class  ObjectCloner
{
   
//  so that nobody can accidentally create an ObjectCloner object
    private  ObjectCloner(){}
   
//  returns a deep copy of an object
    static   public  Object deepCopy(Object oldObj)  throws  Exception
   {
      ObjectOutputStream oos 
=   null ;
      ObjectInputStream ois 
=   null ;
      
try
      {
         ByteArrayOutputStream bos 
=   new  ByteArrayOutputStream(); 
         oos 
=   new  ObjectOutputStream(bos); 
         
//  serialize and pass the object
         oos.writeObject(oldObj);   
         oos.flush();               
         ByteArrayInputStream bin 
=   new  ByteArrayInputStream(bos.toByteArray()); 
         ois 
=   new  ObjectInputStream(bin);
         
//  return the new object
          return  ois.readObject();
      }
      
catch (Exception e)
      {
         System.out.println(
" Exception in ObjectCloner =  "   +  e);
         
throw (e);
      }
      
finally
      {
         oos.close();
         ois.close();
      }
   }
   
}

深拷贝

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号