为了账号安全,请及时绑定邮箱和手机立即绑定

java 泛型类的方法如何使用Class<T>

java 泛型类的方法如何使用Class<T>

宝慕林4294392 2019-03-13 13:15:15
类似应用场景:例如 json反序列化的方法是这样的:public static <T> T fromJson(String json, Class<T> classOfT)泛型类是这样的public class ReqBody<T> {    private T parameter;        /**     * 使用json反序列化赋值 ,这里怎么能用这个方法?     */   pub ReqBody(string json){        parameter = fromJson(json, ???);   }}上面类的内部如何使用Class<T>?或者有什么类似的方法实现?
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

改写一下,把Class传进去:

public class ReqBody<T> {


private Class<T> clzz;


/**

 * 使用json反序列化赋值 ,这里怎么能用这个方法?

 */

public ReqBody(String json,Class<T> clzz){

    this.clzz = clzz;

    T obj = (T) JSONObject.parseObject(json,clzz);

    System.out.println(obj);

}



public static void main(String[] args) {

   ReqBody<Parameter> reqBody = new ReqBody<>("{\"path\":\"The path param\"}",Parameter.class);

}

}


class Parameter {


private String path;


public String getPath() {

    return path;

}


public void setPath(String path) {

    this.path = path;

}


@Override

public String toString() {

    return "Parameter{" +

            "path='" + path + '\'' +

            '}';

}

}

输出:

Parameter{path='The path param'}


查看完整回答
反对 回复 2019-04-26
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

列如: object.class


查看完整回答
反对 回复 2019-04-26
?
动漫人物

TA贡献1815条经验 获得超10个赞

obj = fromJson(json, parameter.getClass());


查看完整回答
反对 回复 2019-04-26
  • 3 回答
  • 0 关注
  • 2319 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号