java父类转子类的一个方法

一般子类可以转父类。但父类转子类就会报cast error。

使用jsonobject

思想:先把父类转jsonstring

再把jsonstring转子类。剩余的子类值可以设定进去。

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;
    }
}

 

posted @ 2016-09-02 16:21  無限大  阅读(12663)  评论(0编辑  收藏  举报