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

企业网站特色建设wordpress 取消评论审核

企业网站特色建设,wordpress 取消评论审核,阿亮seo技术顾问,百度指数分析工具建议44#xff1a; 推荐使用序列化实现对象的拷贝 上一个建议说了对象的浅拷贝问题#xff0c;实现Cloneable接口就具备了拷贝能力#xff0c;那我们来思考这样一个问题#xff1a;如果一个项目中有大量的对象是通过拷贝生成的#xff0c;那我们该如何处理#xff1f;每个…建议44 推荐使用序列化实现对象的拷贝 上一个建议说了对象的浅拷贝问题实现Cloneable接口就具备了拷贝能力那我们来思考这样一个问题如果一个项目中有大量的对象是通过拷贝生成的那我们该如何处理每个类都写一个clone方法并且还要深拷贝想想看这是何等巨大的工作量呀是否有更好的方法呢 其实可以通过序列化方式来处理在内存中通过字节流的拷贝来实现也就是把母对象写到一个字节流中再从字节流中将其读出来这样就可以重建一个新对象了该新对象与母对象之间不存在引用共享的问题也就相当于深拷贝了一个新对象代码如下 1 public class CloneUtils { 2 // 拷贝一个对象 3 SuppressWarnings(unchecked) 4 public static T extends Serializable T clone(T obj) { 5 // 拷贝产生的对象 6 T clonedObj null; 7 try { 8 // 读取对象字节数据 9 ByteArrayOutputStream baos new ByteArrayOutputStream(); 10 ObjectOutputStream oos new ObjectOutputStream(baos); 11 oos.writeObject(obj); 12 oos.close(); 13 // 分配内存空间写入原始对象生成新对象 14 ByteArrayInputStream bais new ByteArrayInputStream(baos.toByteArray()); 15 ObjectInputStream ois new ObjectInputStream(bais); 16 //返回新对象并做类型转换 17 clonedObj (T)ois.readObject(); 18 ois.close(); 19 } catch (Exception e) { 20 e.printStackTrace(); 21 } 22 return clonedObj; 23 } 24 } 此工具类要求被拷贝的对象必须实现Serializable接口否则是没办法拷贝的当然使用反射那是另外一种技巧上一个建议中的例子只要稍微修改一下即可实现深拷贝代码如下 1 public class CloneUtils { 2 // 拷贝一个对象 3 SuppressWarnings(unchecked) 4 public static T extends Serializable T clone(T obj) { 5 // 拷贝产生的对象 6 T clonedObj null; 7 try { 8 // 读取对象字节数据 9 ByteArrayOutputStream baos new ByteArrayOutputStream(); 10 ObjectOutputStream oos new ObjectOutputStream(baos); 11 oos.writeObject(obj); 12 oos.close(); 13 // 分配内存空间写入原始对象生成新对象 14 ByteArrayInputStream bais new ByteArrayInputStream(baos.toByteArray()); 15 ObjectInputStream ois new ObjectInputStream(bais); 16 //返回新对象并做类型转换 17 clonedObj (T)ois.readObject(); 18 ois.close(); 19 } catch (Exception e) { 20 e.printStackTrace(); 21 } 22 return clonedObj; 23 } 24 } 此工具类要求被拷贝的对象必须实现Serializable接口否则是没办法拷贝的当然使用反射那是另外一种技巧上一个建议中的例子只要稍微修改一下即可实现深拷贝代码如下 1 class Person implements Serializable{ 2 private static final long serialVersionUID 1611293231L; 3 /*删除掉clone方法其他代码保持不变*/ 4 } 上去的然后我们就可以通过CloneUtils工具进行对象的深拷贝了。用此方法进行对象拷贝时需要注意两点 1对象的内部属性都是可序列化的 如果有内部属性不可序列化则会抛出序列化异常这会让调试者很纳闷生成一个对象怎么会出现序列化异常呢从这一点来考虑也需要把CloneUtils工具的异常进行细化处理。 2注意方法和属性的特殊修饰符 比如final、static变量的序列化问题会被引入到对象拷贝中来参考第1章这点需要特别注意同时transient变量瞬态变量不进行序列化的变量也会影响到拷贝的效果。 当然采用序列化方式拷贝时还有一个更简单的办法即使用Apache下的commons工具包中的SerializationUtils类直接使用更加简洁方便。  转载于:https://www.cnblogs.com/DreamDrive/p/5430981.html
http://wiki.neutronadmin.com/news/63608/

相关文章:

  • 十大网站在线观看域名解析到wordpress
  • 龙华网站建设推广外包猎头公司招聘信息
  • 宁波网站建设科技有限公司建站设计公司
  • 网页制作创建站点内容小程序源码网网盘
  • 我做网站可以赚钱吗公司建立网站流程图
  • 正版素材网站新闻最新热点
  • 做网站公司能赚钱吗彩票app开发制作多少钱
  • 做社交网站要注册哪类商标励志做的很好的网站
  • 游戏 网站 模板wordpress菜单栏设置
  • 网站开发遇到的问题车工订单网站
  • 网站建设多少钱宋柯yy大杂烩
  • 免费的微网站制作平台做网站用go语言还是php
  • 中国铁建网站分析无线传感网络的体系架构
  • 做外贸兼职的网站设计分销系统设计
  • 同一个空间可以做两个网站么湖南英文网站建设
  • 网站推广服务合同婚纱摄影类网站
  • 免费网站建设福州网站流量 钱
  • 关于建立网站的计划黑马程序员学费多少钱
  • 网站建设方式信誉最好的20个网投网站
  • 网站的三大标签想系统学习wordpress
  • 江苏苏州网站建设动态表单的设计与实现
  • 国外好的网站空间温州网站建设优化
  • 丰台网站开发公司保定网站建设方法
  • 中国营销传播网苏州seo外包
  • 外贸网站建设服务器wordpress全静态化
  • 小说网站防盗做的好处2018网站内容和备案
  • 网站如何做h5动态页面微信公众好第三方网站怎么做
  • 成都市建设厅官方网站成都短视频制作培训班
  • 怎么做自己的一个网站电子商务网站 费用
  • 1个月能学好网站开发吗用vs2013做网站