Java利用序列化实现对象深度clone的方法
本文实例讲述了Java利用序列化实现对象深度clone的方法。分享给大家供大家参考。具体实现方法如下:
ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(byteOut); out.writeObject(obj); ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray()); ObjectInputStream in =new ObjectInputStream(byteIn); Object newObj=in.readObject();
希望本文所述对大家的java程序设计有所帮助。
相关推荐
-
浅析Java中clone()方法浅克隆与深度克隆
现在Clone已经不是一个新鲜词语了,伴随着"多莉"的产生这个词语确实很"火"过一阵子,在Java中也有这么一个概念,它可以让我们很方便的"制造"出一个对象的副本来,下面来具体看看Java中的Clone机制是如何工作的? 1. Clone&Copy 假设现在有一个Employee对象,Employee tobby =new Employee("CMTobby",5000),通 常我们会有这样的赋值Employ
-
Java中的clone方法详解_动力节点Java学院整理
Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那么在java语言中,有几种方式可以创建对象呢? 1 使用new操作符创建一个对象 2 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存.程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间.分配完内存
-
java object 之clone方法全面解析
1 protected native Object clone() throws CloneNotSupportedException; 1.方法由native关键字修饰 java中的native关键字表示这个方法是个本地方法,[java native说明].而且native修饰的方法执行效率比非native修饰的高. 2.方法由protected修饰 一个类在覆盖clone()方法时候,需要修改成public访问修饰符,这样才能保证其他所有的类都能够访问这个类的这个方法. 3.方法抛出Clon
-
Java clone方法详解及简单实例
Java clone方法详解 什么是"clone"? 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的.在 Java语言中,用简单的赋值语句是不能满足这种需求的.要满足这种需求虽然有很多途径,但实现clone()方法是其中最简单,也是最高效的手段. Java的所有类都默认继承java.lang.
-
Java利用序列化实现对象深度clone的方法
本文实例讲述了Java利用序列化实现对象深度clone的方法.分享给大家供大家参考.具体实现方法如下: ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(byteOut); out.writeObject(obj); ByteArrayInputStream byteIn = new ByteArrayInputStream(by
-
java利用JAXB实现对象和xml互相转换方法与实例详解
1.JAXB应用场景 在使用WebService实现数据上传下载,数据查询时,可以利用JAXB实现java实体类和xml互相转换 2.Demo 2.1 student.java 实体类 包含list(set同理).map.Teacher.Date 类型的属性 package jaxb; import java.util.Date; import java.util.List; import java.util.Map; import javax.xml.bind.annotation.XmlAc
-
java基于反射得到对象属性值的方法
本文实例讲述了java基于反射得到对象属性值的方法.分享给大家供大家参考,具体如下: 通过反射机制得到对象中的属性和属性值 在对象中private没问题,在别的类中有时会报异常.下面的例子是在本对象中 /** * Engine entity. @author MyEclipse Persistence Tools */ public class Engine implements java.io.Serializable { // Fields private Long engineId; pr
-
JAVA利用HttpClient进行HTTPS接口调用的方法
本文介绍了JAVA利用HttpClient进行HTTPS接口调用的方法,分享给大家,具体如下: 1.为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程. import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManage
-
java根据List内对象的属性排序方法
方法一:实现Comparator接口,并重写compare方法 实体类代码: import java.util.Comparator; /** * 学生类 方法一 * 实现Comparator接口 * 并重写compare方法 * @author liaot * */ public class Student implements Comparator<Student>{ private String name; //姓名 private int age; //年龄 //重写 比较方法 本次例
-
基于序列化存取实现java对象深度克隆的方法详解
我们知道,在java中,将一个非原型类型类型的对象引用,赋值给另一个对象的引用之后,这两个引用就指向了同一个对象,如: 复制代码 代码如下: public class DeepCloneTest { private class CloneTest { private Long myLong = new Long(1); } public static void main(String args[]) { new DeepCloneTest().Test(); } public void Te
-
Java利用POI读取、写入Excel的方法指南
前言 Apache POI [1] 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能.POI为"Poor Obfuscation Implementation"的首字母缩写,意为"简洁版的模糊实现". 做项目时经常有通过程序读取Excel数据,或是创建新的Excel并写入数据的需求: 网上很多经验教程里使用的POI版本都比较老了,一些API在新版里已经废弃,这里
-
java 利用反射机制,获取实体所有属性和方法,并对属性赋值
一个普通的实体Person: private int id; private String name; private Date createdTime; ... //其它字段 // get set方法 ............... 现在需要把通过webService传过来的实体Person里面的所有字段的null值,换成"" 实现思路: 1.获取实体的所有字段,遍历 2.获取字段类型 3.调用字段的get方法,判断字段值是否为空 4.如果字段值为空,调用字段的set方法,为字段赋值
-
java利用时间格式生成唯一文件名的方法
前言 有时候我们需要截图,在要截图时,有人用到了时间格式,但是时间格式中的:在文件名称中是不被允许的字符,所以就会报错,如何生成唯一的时间文件名: 示例代码 package com.demo; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar;
-
Java利用Request请求获取IP地址的方法详解
前言 最近在项目中遇到一个需求,是需要将不同省份的用户,展示不同内容,通过查找相关的资料,发现可以通过Request请求获取IP地址,下面我们先来贴代码, 如果你要在生产环境使用就直接拿去用吧,我这边已经上线了. 示例代码 public class IpAdrressUtil { /** * 获取Ip地址 * @param request * @return */ private static String getIpAdrress(HttpServletRequest request) { S
随机推荐
- Javascript继承机制详解
- 在JS中操作时间之getUTCMilliseconds()方法的使用
- 分析10个ASP.NET控件最有用的属性详解
- php.ini 配置文件的深入解析
- PHP框架自动加载类文件原理详解
- 详解Python的Django框架中的模版相关知识
- python读取html中指定元素生成excle文件示例
- Python类的动态修改的实例方法
- 用JS实现购物网站商品放大镜效果
- 用C实现PHP扩展 Image_Tool 图片常用处理工具类的使用
- Android的HTTP操作库Volley的基本使用教程
- Javascript中this的用法详解
- php实现zip压缩文件解压缩代码分享(简单易懂)
- Python实现新浪博客备份的方法
- JavaScript 仿关机效果的图片层
- 修改SQL-SERVER数据库表结构的SQL命令附sql命令行修改数据库
- 开窗函数有浅入深详解(一)
- jQuery插件WebUploader实现文件上传
- web基于浏览器的本地存储方法应用
- C#实现Ruby的负数索引器