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

鞍山制作网站的公司wordpress 右侧悬浮

鞍山制作网站的公司,wordpress 右侧悬浮,百度推广方案,石油大学网页设计与网站建设开发人员经常依靠3d方库来避免重新发明轮子#xff0c;尤其是在Java世界中#xff0c;Apache和Spring这样的项目如此盛行。 在处理这些框架时#xff0c;我们通常很少或根本无法控制其类的行为。 这有时会导致问题。 例如#xff0c;如果您想深度克隆不提供合适克隆方法的对… 开发人员经常依靠3d方库来避免重新发明轮子尤其是在Java世界中Apache和Spring这样的项目如此盛行。 在处理这些框架时我们通常很少或根本无法控制其类的行为。 这有时会导致问题。 例如如果您想深度克隆不提供合适克隆方法的对象除了编写大量代码之外您还有什么选择 通过序列化克隆 最简单的方法是通过利用对象可序列化进行克隆。 Apache Commons提供了一种执行此操作的方法但是出于完整性考虑下面也将自己编写代码。 SuppressWarnings(unchecked) public static T cloneThroughSerialize(T t) throws Exception {ByteArrayOutputStream bos new ByteArrayOutputStream();serializeToOutputStream(t, bos);byte[] bytes bos.toByteArray();ObjectInputStream ois new ObjectInputStream(new ByteArrayInputStream(bytes));return (T)ois.readObject(); }private static void serializeToOutputStream(Serializable ser, OutputStream os)throws IOException {ObjectOutputStream oos null;try {oos new ObjectOutputStream(os);oos.writeObject(ser);oos.flush();} finally {oos.close();} }// using our custom method Object cloned cloneThroughSerialize (someObject);// or with Apache Commons cloned org.apache.commons.lang. SerializationUtils.clone(someObject); 但是如果我们要克隆的类不是可序列化的并且我们无法控制源代码或者无法将其设置为可序列化的该怎么办 选项1 – Java深度克隆库 有一个不错的小程序库它可以深度克隆几乎所有Java对象- 克隆 。 它利用Java的出色反射功能来提供优化的对象的深克隆版本。 Cloner clonernew Cloner(); Object cloned cloner.deepClone(someObject); 如您所见它非常简单有效并且需要最少的代码。 除了这个简单的示例它还具有一些更高级的功能您可以在此处查看 。 选项2 – JSON克隆 如果我们无法在我们的代码库中引入新的库该怎么办 我们中的一些人处理批准程序以引入新的库对于一个简单的用例可能不值得。 好吧只要我们有某种方式可以序列化和还原对象就可以制作一个深层副本。 JSON通常被使用因此它是一个很好的选择因为我们大多数人都使用一个或另一个JSON库。 Java中的大多数JSON库都可以有效地序列化任何POJO而无需任何配置或映射。 这意味着如果您具有JSON库并且不能或不会引入更多库来提供深度克隆则可以利用现有的JSON库来获得相同的效果。 请注意此方法将比其他方法慢但是对于绝大多数应用程序这不会引起任何性能问题。 以下是使用GSON库的示例。 SuppressWarnings(unchecked) public static T cloneThroughJson(T t) {Gson gson new Gson();String json gson.toJson(t);return (T) gson.fromJson(json, t.getClass()); } // ... Object cloned cloneThroughJson(someObject); 请注意仅当复制的对象具有默认的无参数构造函数时这才可能起作用。 对于GSON您可以使用实例创建者来解决此问题。 其他框架也有类似的概念因此如果遇到无法修改的类且没有默认构造函数的问题可以使用它。 结论 我建议做的一件事是对于需要克隆的任何类都应该添加一些单元测试以确保一切正常。 这样可以防止对类的更改例如升级库版本在您不知情的情况下破坏应用程序尤其是在您设置了持续集成环境的情况下。 我概述了几种在没有任何自定义代码的情况下克隆对象的方法。 如果您使用其他任何方法获得相同的结果请分享。 参考 Carfey Software Blog上的JCG合作伙伴 Craig Flichel从Java轻松深度克隆了Java中的可序列化和不可序列化的对象 。 相关文章 Java最佳实践–高性能序列化 使用Gson教程进行Android JSON解析 将JSON功能添加到您的GWT应用程序中 Java 7功能概述 Java Code Geeks编写的Java示例和代码段–正式发布 翻译自: https://www.javacodegeeks.com/2011/12/cloning-of-serializable-and-non.html
http://www.pierceye.com/news/217364/

相关文章:

  • 网站建设为什么学flash最新新闻消息事件
  • 高端网站建设需要的人员配备编辑目录中的字体 wordpress
  • 电脑维修网站模板金融商城快捷申请网站模板下载
  • wordpress 本地建站教程化纤公司网站建设
  • 广州网站设计公司新闻给客户做非法网站
  • 微商城手机网站制作公司痞子 wordpress
  • 公司网站备案申请鹤山做网站
  • 南阳那里有做网站的聊城网站优化
  • 网站开发技术实验教程长沙网站托管公司排名
  • 美妆网站建设项目计划书软件开发培训班机构
  • 小视频网站怎么做seo网络优化师
  • 建个门户网站新手学编程用什么软件
  • 旅游网站建设规范wordpress用户注册协议
  • 淘宝客网站女装模板下载wordpress5 没有块引用
  • 35网站建设博客移动端网站模板
  • 卡盟网站建设公司品牌策划ppt
  • 自己如何做网站教程广州建网站有哪些
  • 网站建设 市场规模加强财政门户网站建设工作
  • wordpress 搭建多站点电子商务网站
  • 免费制作网页的网站万网租空间 网站
  • 上海 网站 备案ios开发网站app
  • 网站建设,h5,小程序众安保险
  • 大连网站建设资讯网站seo如何优化
  • 手表网站建设策划西地那非片怎么服用最佳
  • 常德网站设计英文版网站怎么做
  • 权威网站建设网站的工具
  • php手机网站模板厦门网站设计建设
  • 焦作集团网站建设做食品网站需要什么资质
  • 西北电力建设甘肃工程公司网站90设计电商模板
  • 内蒙古网站设计推广网站注册赚佣金