父类转换成子类, 或者是类之间属性拷贝
问题很怪, 其实本不应该这么做的, 将父类转换成子类本就是不安全的行为。 但哪有事事顺心的, 真遇到了还是得解决。
/*** 父类*/
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);
父类转换成子类, 或者是类之间属性拷贝相关推荐
- java 用户自定义的父类转换成子类的方法
在工作中,一般是实体类对应的数据库表,另外再定义一个Model继承实体类,在model里往往添加一些辅助的属性.我们从数据库查出的数据放在实体类里,但是展现数据时需要用到model类,这时就需要把实体 ...
- java 父类转换成子类的方法
/* 父类转换成子类的特点: 1:父类转换成子类不能自动完成 2:父类转换成子类的前提是父类的真身是这个子类 3:如果这个父类的真身是子类B,不能强制转换成子类A,只能转换成B. */ class T ...
- java父类转换成子类_【转】java 父类与子类的转换
最近同事调的一个服务报错,查看后是日期之间转换出的问题.代码里是把 java.sql.Date 类型的对象 强制转换为 java.sql.Timestamp 类型的对象.报java.lang.Clas ...
- C# 里氏转换(父类转换成子类)( is as )
里氏转换: 1.子类可以赋值给父类 2.如果父类中装的是子类对象,则可以将这个父类转换为对应的子类对象 ---->关键字 1.is:返回bool类型,指示是否可以做这个转换 2.as:如果转换成 ...
- java 子类 父类 转换_Java子类与父类之间的类型转换
1.向上转换 父类的引用变量指向子类变量时,子类对象向父类对象向上转换.从子类向父类的转换不需要什么限制,只需直接蒋子类实例赋值给父类变量即可,这也是Java中多态的实现机制. 2.向下转换 在父类变 ...
- java 父类强制转换为子类_[java]Java中父类强制转换成子类的原则
Java中父类强制转换成子类的原则:父类型的引用指向的是哪个子类的实例,就能转换成哪个子类的引用. 例: public class Test { public static void main(Str ...
- C#里氏转换,子类赋值父类,父类强制转换成子类的理解
C#里氏转换,子类赋值父类,父类强制转换成子类的理解 最近在学习C#,在父类和子类的学习上有不理解的地方. Father f = new Son(); 这样的一个实例化程序中,内存时怎么样处理的,为什 ...
- java 父类转子类失败_父类不能转换成子类
父类不能转换成子类 Exception in thread "main"java.lang.ClassCastException: Person cannot be cast to ...
- C# EF查询结果转换成子类 SelectToType
本人很懒, 总是不愿意写太多的代码. 系统做久了,就会发现,对象继承有很大的好处, 省去了很多事情, 我写代码的习惯是用代码生成器生成.数据库模型类, 其它业务模型,继承自它- 当然其它业务模型多出来 ...
最新文章
- 如何删除计算机桌面多余的大e,桌面有个大E浏览器图标,怎么也删除不了
- delphi oracle新建用户,Delphi 中如何用另外一个用户的身份来运行一人程序
- html制作花样链接卡页面_8 个「新标签页」Chrome 扩展,把 New Tab 页面玩出花样 | Matrix 精选...
- android 图片墙拼贴,三步搞定 用APP打造图片文字拼贴效果
- ipconfig默认网关为空_网络工程师之IPCONFIG命令详解
- SqlServer批量更新两关联表的数据
- java多线程编程(一基础概念)
- keras pytorch_使用PyTorch重新创建Keras功能API
- C#人事工资管理系统
- Mac 清理缓存命令
- 中国科学院大学计算机复试,被中国科学院北京计算所录取了...(复试经验)
- netty源码阅读之编码之flush刷新buffer队列
- DLL中无法定位程序输入点inflateReset2于动态链接库
- Weakly Supervised Semantic Segmentation with Boundary Exploration
- 202.微信公众号开发【图文消息】
- 如何通俗的理解函数的极限_函数的极限问题怎么解释更通俗易懂?初高中数学辅导...
- python爬取手机app图片_python 手机app数据爬取
- [福大软工] Z班 团队作业——随堂小测(同学录) 作业成绩
- 网站盈利模式分析分类——别人的网站是怎么赚钱的
- MSChart使用之动态生成多个多行ChartArea