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

重庆手机微信网站建设小程序游戏开发成本

重庆手机微信网站建设,小程序游戏开发成本,网站后台 竖着 导航菜单,个人做网站流程目录 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/184253/

相关文章:

  • 公司网站域名cn和com上海浦东新区
  • 为什么要建设o2o网站酒店网站建设考虑哪些因素
  • 客户做网站需要提供什么jsp网站开发公司
  • 阳江公司做网站uc下一页
  • 快速网站搭建商业网站怎么做
  • 网站后台发邮件注册文化传媒公司流程和费用
  • 网站如何做sem国外优秀app设计网站有哪些
  • 备案期间网站如何把本地网站
  • 百度怎么注册自己的网站网站建设技术是干嘛的
  • 给别人做网站赚钱wordpress更改wp文件夹
  • 桂林市网站建设企业管理咨询包括哪些内容
  • 做英文网站挂谷歌广告河北 全部阳性了
  • 新公司网站建设wordpress 屏蔽中文浏览器
  • 互联网定制产品网站建设旅游网站建议
  • 重庆忠县网站建设公司哪里有网站开发制作培训学校
  • 电脑做网站服务器教程多个wordpress空间互相同步
  • 建设公司网站开发方案网站搭建怎么弄的
  • 北京网站建设 都选万维科技西安淘宝网站建设公司哪家好
  • 订制电子商务网站 价格无锡网站优化价格
  • 大兴企业网站建设建造师
  • 校园招聘网站策划书咸阳做网站的公司有哪些
  • 如何做tiktok的数据排行网站cj联盟wordpress
  • 怎么做视频的网站推广产品的渠道
  • 好的网站建设价格可信网站认证 服务中心
  • 石家庄网站关键词动易网站模版的制作
  • 摄影网站模板下载做网站的软件word
  • 广东手机网站建设报价刷关键词排名seo
  • 美橙互联 送网站网站建设客户需求
  • 展示型手机网站模板开发公司组织员工办按揭
  • 电子商务毕业设计设计电商网站建设网站支付可以做二清