Java父类转子类一个可行的方法
1. 问题描述
Java父类转子类我以前学习的时候没有看到有啥问题,但是在实际开发中的就出现了一些不能强转的问题,所以,在网上找解决办法,最后有了下面一篇文章。
2. 解决思路
一般子类可以转父类,但父类转子类就会报cast error。 使用jsonObject,先把父类转jsonString,再把jsonString转子类,剩余的子类的值可以set进去。
需要转成的对象 = JSONObject.parseObject(JSONObject.toJSONString(需要被转的对象), 需要转成的类.class);
3. 代码示范
import com.alibaba.fastjson.JSONObject; public class test { public static void main(String[] args) { B b = new B(); b.setB("1"); String ob = JSONObject.toJSONString(b); A a = (A)JSONObject.parseObject(ob, A.class); a.setA("2"); System.out.println(a.getA()); } } class A extends B { private String a; public String getA() { return a; } public void setA(String a) { this.a = a; } } class B { private String b; public String getB() { return b; } public void setB(String b) { this.b = b; } }
下一篇:
Java实现文件上传的流程