当前位置: 首页 > news >正文

淄博周村网站建设报价新手建站网址

淄博周村网站建设报价,新手建站网址,wordpress版权所有,网站身份验证怎么做目录 1、通过继承Cloneable接口,重写clone方法实现深克隆 2、通过序列化与反序列化的方式实现深克隆 3、第三方工具类实现深克隆,克隆对象需继承Serializable接口 3.1、Apache Commons Lang的SerializationUtils.clone方法 3.2、Gson工具类 3.3、F…

目录

1、通过继承Cloneable接口,重写clone方法实现深克隆

2、通过序列化与反序列化的方式实现深克隆

3、第三方工具类实现深克隆,克隆对象需继承Serializable接口

3.1、Apache Commons Lang的SerializationUtils.clone方法

3.2、Gson工具类

3.3、FastJson工具类


1、通过继承Cloneable接口,重写clone方法实现深克隆

@Data
@AllArgsConstructor
@ToString
public class User implements Cloneable{private String name;private int age;private House house;@Overrideprotected User clone() throws CloneNotSupportedException {User user = (User) super.clone();user.setHouse(house.clone());return user;}
}@Data
@AllArgsConstructor
@ToString
public class House implements Cloneable{private String location;private double price;@Overrideprotected House clone() throws CloneNotSupportedException {return (House) super.clone();}
}public static void main(String[] args) {House house = new House("市区", 58955);User user = new User("张三", 18, house);User cloneUser = user.clone();
}

2、通过序列化与反序列化的方式实现深克隆

克隆对象需继承Serializable接口

@Data
@AllArgsConstructor
@ToString
public class House implements Serializable {private String location;private double price;
}@Data
@AllArgsConstructor
@ToString
public class User implements Serializable {private String name;private int age;private House house;
}@SneakyThrows
public static void main(String[] args) {House house = new House("市区", 58955);User user = new User("张三", 18, house);//序列化ByteArrayOutputStream outputStream = new ByteArrayOutputStream();ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);objectOutputStream.writeObject(user);//反序列化ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);User cloneUser = (User)objectInputStream.readObject();
}

3、第三方工具类实现深克隆,克隆对象需继承Serializable接口

@Data
@AllArgsConstructor
@ToString
public class House implements Serializable {private String location;private double price;
}@Data
@AllArgsConstructor
@ToString
public class User implements Serializable {private String name;private int age;private House house;
}

3.1、Apache Commons Lang的SerializationUtils.clone方法

<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId>
</dependency>
public static void main(String[] args) {House house = new House("市区", 58955);User user = new User("张三", 18, house);User cloneUser = SerializationUtils.clone(user);
}

3.2、Gson工具类

<dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version>
</dependency>
@SneakyThrows
public static void main(String[] args) {House house = new House("市区", 58955);User user = new User("张三", 18, house);    Gson gson = new Gson();//将对象序列化为json字符串String userStr = gson.toJson(user);//然后将字符串反序列化为对象User cloneUser = gson.fromJson(userStr, User.class);
}

3.3、FastJson工具类

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.78</version>
</dependency>
@SneakyThrows
public static void main(String[] args) {House house = new House("市区", 58955);User user = new User("张三", 18, house);//将对象序列化为json字符串String userStr = JSON.toJSONString(user);//然后将字符串反序列化为对象User cloneUser = JSON.parseObject(userStr, User.class);
}

以上内容为个人学习理解,如有问题,欢迎在评论区指出。

部分内容截取自网络,如有侵权,联系作者删除。

http://www.yayakq.cn/news/780797/

相关文章:

  • 微信公众号申请注册官网seo站长工具查询
  • 做帖子的网站有哪些直接做的视频网站
  • 网站如何做seo推广方案wordpress oa教程
  • 地信的网站建设制作企业网站的方法
  • 网站文章更新数量网站做区块链然后往里面投钱
  • 响应式制作网站建设做网站白云
  • 知名电子商务网站有哪些代理备案网站
  • 做网站都要学什么东莞销售网站建设
  • 2015微信网站开发贸易公司广告网站
  • 站长查询做视频导航网站
  • 长兴企业网站开发四川城乡建设部网站
  • 建立网站买空间哪家好网站建设与管理感想
  • 南京公司网站模板建站医院网站建设课程代码
  • wordpress 网站锁桂林象鼻山离哪个高铁站近
  • 大型旅游网站个人做外贸网站平台有哪些
  • 做网站要注册公司吗一键优化助手
  • 网站色彩的应用wordpress acg主题
  • js商城网站如何卸载安装wordpress
  • 物流门户网站源码wordpress 动作钩子
  • 上海市住房城乡建设部网站成都到深圳物流公司
  • 石家庄做网站需要多少钱网站制作网站模板
  • 互联网招聘网站排名公司怎么在百度做网站
  • 开发软件网站多少钱军事要闻军事频道
  • 揭阳网站建设方案外包新泰网站定制
  • 58同城网站模板下载动漫制作专业特色
  • 湛江做网站制作免费企业网站系统源码
  • 网站建设销售问你告诉我怎么制作建设银行理财产品网站
  • 杭州哪家做外贸网站中文wordpress
  • 域名和网站一样吗济南住建网站
  • 做网站的收益服务器免费