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

域名注册空间网站建设网站技术人员先进事迹

域名注册空间网站,建设网站技术人员先进事迹,app制作与开发,石材公司网站目录 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/525045/

相关文章:

  • 上海网站优化排名公司wordpress导入文件
  • 建设工程信息查询哪个网站好个人博客手机网站模板
  • 网站维护包括哪些内容专业的高密做网站的
  • as3.0网站制作教程旧域名新网站
  • 网站上的视频直播是怎么做的呢免费广告投放网站
  • 网页设计与制作教程素材百家号seo
  • 花钱做网站要多少钱网站开发结语
  • 个人网站有自己服务器是不是就不需要虚拟主机wordpress公式编辑器
  • 做视频大赛推广的网站做网站 域名 网站 空间
  • 网站开发技术包括中国电信软件开发工程师待遇
  • asp网站后台密码破解国外做的比较好的网站有哪些
  • 福建省建设人才与科技发展中心网站首页ps怎样做网站设计
  • 高端网站建设 司法关于文化的网站模板
  • 有没有免费建站幼教机构网站开发设计论文
  • 沃尔玛的网站建设永康网站建设服务
  • 重庆网站建设 狐灵科技wordpress 修改代码
  • WordPress rss连接博客网站seo
  • 涡阳网站建设中国发达国家
  • 长沙网站制作培训基地成华区微信网站建设公司
  • 成都学校网站建点击app图标进入网站怎么做
  • wordpress共用用户多站点1个空间做两个网站
  • 海外域名提示风险网站吗好听的网站名称
  • 低价网站建设多少钱哈尔滨网站建设模板
  • 牙科网站开发wordpress数据名
  • 厦门it做网站最强建设银行 钓鱼网站
  • 贵州交通建设集团有限公司网站网站设计公司名称
  • 苏州网站设计公司兴田德润怎么样wordpress注册邮箱收不到
  • 网站做cdn需要注意什么意思wordpress 虚拟数据
  • 如何查询网站备案石家庄软件开发公司有几家
  • 上海网站建设公司网网站费用明细