第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

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

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

寶慕林4294392 2019-03-13 13:15:15
類似應(yīng)用場景:例如 json反序列化的方法是這樣的:public static <T> T fromJson(String json, Class<T> classOfT)泛型類是這樣的public class ReqBody<T> {    private T parameter;        /**     * 使用json反序列化賦值 ,這里怎么能用這個(gè)方法?     */   pub ReqBody(string json){        parameter = fromJson(json, ???);   }}上面類的內(nèi)部如何使用Class<T>?或者有什么類似的方法實(shí)現(xiàn)?
查看完整描述

3 回答

?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊

改寫一下,把Class傳進(jìn)去:

public class ReqBody<T> {


private Class<T> clzz;


/**

 * 使用json反序列化賦值 ,這里怎么能用這個(gè)方法?

 */

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


查看完整回答
反對 回復(fù) 2019-04-26
?
慕尼黑5688855

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超2個(gè)贊

列如: object.class


查看完整回答
反對 回復(fù) 2019-04-26
?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

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


查看完整回答
反對 回復(fù) 2019-04-26
  • 3 回答
  • 0 關(guān)注
  • 2348 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號