问题很怪, 其实本不应该这么做的, 将父类转换成子类本就是不安全的行为。 但哪有事事顺心的, 真遇到了还是得解决。

/*** 父类*/
class Foo {private String name;
}
/*** 子类*/
class Son extends Foo {private Integer age;
}

我想到的两个方法:

1) 利用Spring附带的BeanUtils工具类解决

/*** 这种方式是用了Spring的工具类, 不关乎是否有继承关系,* 只要有相同的属性就会拷贝进去*/
Foo foo = new Foo();
Son son = new Son();
BeanUtils.copyProperties(foo, son);

2)序列化妙用(JSONObject)

/*** 这个是将父类先序列化成json字符串, 然后再将字符串转化成对象, 曲线救国。*/
Foo foo = new Foo();
foo.setName("Isla");
Son son = JSONObject.parseObject(JSONObject.toJSONString(foo), Son.class);

父类转换成子类, 或者是类之间属性拷贝相关推荐

  1. java 用户自定义的父类转换成子类的方法

    在工作中,一般是实体类对应的数据库表,另外再定义一个Model继承实体类,在model里往往添加一些辅助的属性.我们从数据库查出的数据放在实体类里,但是展现数据时需要用到model类,这时就需要把实体 ...

  2. java 父类转换成子类的方法

    /* 父类转换成子类的特点: 1:父类转换成子类不能自动完成 2:父类转换成子类的前提是父类的真身是这个子类 3:如果这个父类的真身是子类B,不能强制转换成子类A,只能转换成B. */ class T ...

  3. java父类转换成子类_【转】java 父类与子类的转换

    最近同事调的一个服务报错,查看后是日期之间转换出的问题.代码里是把 java.sql.Date 类型的对象 强制转换为 java.sql.Timestamp 类型的对象.报java.lang.Clas ...

  4. C# 里氏转换(父类转换成子类)( is as )

    里氏转换: 1.子类可以赋值给父类 2.如果父类中装的是子类对象,则可以将这个父类转换为对应的子类对象 ---->关键字 1.is:返回bool类型,指示是否可以做这个转换 2.as:如果转换成 ...

  5. java 子类 父类 转换_Java子类与父类之间的类型转换

    1.向上转换 父类的引用变量指向子类变量时,子类对象向父类对象向上转换.从子类向父类的转换不需要什么限制,只需直接蒋子类实例赋值给父类变量即可,这也是Java中多态的实现机制. 2.向下转换 在父类变 ...

  6. java 父类强制转换为子类_[java]Java中父类强制转换成子类的原则

    Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用. 例: public class Test { public static void main(Str ...

  7. C#里氏转换,子类赋值父类,父类强制转换成子类的理解

    C#里氏转换,子类赋值父类,父类强制转换成子类的理解 最近在学习C#,在父类和子类的学习上有不理解的地方. Father f = new Son(); 这样的一个实例化程序中,内存时怎么样处理的,为什 ...

  8. java 父类转子类失败_父类不能转换成子类

    父类不能转换成子类 Exception in thread "main"java.lang.ClassCastException: Person cannot be cast to ...

  9. C# EF查询结果转换成子类 SelectToType

    本人很懒, 总是不愿意写太多的代码. 系统做久了,就会发现,对象继承有很大的好处, 省去了很多事情, 我写代码的习惯是用代码生成器生成.数据库模型类, 其它业务模型,继承自它- 当然其它业务模型多出来 ...

最新文章

  1. 如何删除计算机桌面多余的大e,桌面有个大E浏览器图标,怎么也删除不了
  2. delphi oracle新建用户,Delphi 中如何用另外一个用户的身份来运行一人程序
  3. html制作花样链接卡页面_8 个「新标签页」Chrome 扩展,把 New Tab 页面玩出花样 | Matrix 精选...
  4. android 图片墙拼贴,三步搞定 用APP打造图片文字拼贴效果
  5. ipconfig默认网关为空_网络工程师之IPCONFIG命令详解
  6. SqlServer批量更新两关联表的数据
  7. java多线程编程(一基础概念)
  8. keras pytorch_使用PyTorch重新创建Keras功能API
  9. C#人事工资管理系统
  10. Mac 清理缓存命令
  11. 中国科学院大学计算机复试,被中国科学院北京计算所录取了...(复试经验)
  12. netty源码阅读之编码之flush刷新buffer队列
  13. DLL中无法定位程序输入点inflateReset2于动态链接库
  14. Weakly Supervised Semantic Segmentation with Boundary Exploration
  15. 202.微信公众号开发【图文消息】
  16. 如何通俗的理解函数的极限_函数的极限问题怎么解释更通俗易懂?初高中数学辅导...
  17. python爬取手机app图片_python 手机app数据爬取
  18. [福大软工] Z班 团队作业——随堂小测(同学录) 作业成绩
  19. 网站盈利模式分析分类——别人的网站是怎么赚钱的
  20. MSChart使用之动态生成多个多行ChartArea

热门文章

  1. linux系统英伟达gpu驱动卸载_Ubuntu 16.04 卸载Nvidia显卡驱动和cuda
  2. C++ | 对C的增强(一)
  3. APP启动视屏 APP第一次启动播放视屏欢迎
  4. zlib-Deflate压缩算法
  5. 怎么把ppt文字大小设置一致_不想PPT演讲时掉链子?这个实用技巧必须get!
  6. 联通2g信号显示无服务器,联通卡2g没信号怎么办
  7. About面试的种种
  8. C语言之消息队列MQ
  9. 航模lipo锂电池过放抢救/处理方式
  10. 【爬虫】获取网页编码、chardet库、Python的字符编码