zoukankan      html  css  js  c++  java
  • java 拷贝功能

    java 中的 拷贝分为浅拷贝 和 深拷贝

    浅拷贝需要实现Cloneable接口,深拷贝需要实现Serializable接口。

    public class Square implements Cloneable, Serializable
    {
        private Point location = new Point(0, 0);
    
        private float sideLength = 1F;
    
        @Override
        public Object clone()
        {
        Square tmp = null;
        try
        {
            tmp = (Square) super.clone();
        }
        catch (CloneNotSupportedException cnse)
        {
            cnse.printStackTrace();
        }
        finally
        {
            return tmp;
        }
        }
        
        /**
         * 深克隆方法
         * @return
         */
        public Object deepClone()
        throws IOException, OptionalDataException, ClassNotFoundException
        {
        // 首先将对象写到流里
        ByteArrayOutputStream bo = new ByteArrayOutputStream();
        ObjectOutputStream oo = new ObjectOutputStream(bo);
        oo.writeObject(this);
        
        // 然后将对象从流里读出来
        ByteArrayInputStream bi = new ByteArrayInputStream(bo.toByteArray());
        ObjectInputStream oi = new ObjectInputStream(bi);
        
        return (oi.readObject());
        }
    
        /**
         * @return the location
         */
        public Point getLocation()
        {
            return location;
        }
    
        /**
         * @param location the location to set
         */
        public void setLocation(Point location)
        {
            this.location = location;
        }
    
        /**
         * @return the sideLength
         */
        public float getSideLength()
        {
            return sideLength;
        }
    
        /**
         * @param sideLength the sideLength to set
         */
        public void setSideLength(float sideLength)
        {
            this.sideLength = sideLength;
        }
    
    
    }
  • 相关阅读:
    重温Thinking in java
    线程池
    apache DBUtils学习
    Mysql 建表 数据类型选择
    毫秒必争,前端网页性能最佳实践
    tomcat6 开启GZIP
    处理百万级以上的数据提高查询速度的方法
    Tomcat内存设置
    Tomcat全局Filter
    Tomcat多工程共享Session、ServletContext
  • 原文地址:https://www.cnblogs.com/ytfcz/p/3533198.html
Copyright © 2011-2022 走看看