日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

java 获取泛型的type,如何获取泛型的Type类型

發(fā)布時(shí)間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 获取泛型的type,如何获取泛型的Type类型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

開發(fā)中很多時(shí)候都遇到或使用到泛型。例如在json轉(zhuǎn)換成bean對(duì)象或其他對(duì)象,而對(duì)象中存在泛型,這時(shí)候需要用到TypeToken。

Type:是java里的 java.lang.reflect.Type;

TypeToken:是guava提供的抽象類能夠獲取泛型類型

開門見山

通過TypeToken獲取泛型Type類型TypeToken?typeToken?=?new?TypeToken>>(){};

Type?type?=?typeToken.getType();

舉個(gè)栗子

例如通過JSON字符串轉(zhuǎn)換成對(duì)象 且 還要保持原有類型(包括泛型類型)

1、模擬數(shù)據(jù)列表//模擬數(shù)據(jù)列表

List>?list?=?new?ArrayList>();

list.add(new?User(1,"hello"));

list.add(new?User(2,"world"));

String?json?=?JSONArray.toJSONString(list);

System.out.println(json);

//輸出:[{"id":1,"name":"hello"},{"id":2,"name":"world"}]

2、不使用TypeToken//我們來看看不使用TypeToken的情況

List>?result1?=?JSONArray.parseObject(json,?list.getClass());

System.out.println(result1);

//輸出:[{"id":1,"name":"hello"},?{"id":2,"name":"world"}]

看下圖,使用調(diào)試看到,執(zhí)行完result1的時(shí)候看到:result1對(duì)象為ArrayList,User對(duì)象不能正常轉(zhuǎn)化類型為JSONObject,User對(duì)象屬性變了HashMap了。

3、使用TypeToken//再來看看使用TypeToken的情況

List>?result2?=?JSONArray.parseObject(json,?type);

System.out.println(result2.get(0).getName().getClass());

//輸出:[com.weizhixi.test.User@db8155,?com.weizhixi.test.User@107f7fe]

//輸出:class?java.lang.String

再來下圖,使用調(diào)試看到,執(zhí)行完result2的時(shí)候看到:result2象為ArrayList,User對(duì)象已經(jīng)正常轉(zhuǎn)化類型為User,User對(duì)象屬性也是對(duì)的。

最后

給出完整demo代碼

Test.javapackage?com.weizhixi.test;

import?com.alibaba.fastjson.JSONArray;

import?com.google.common.reflect.TypeToken;

import?java.lang.reflect.Type;

import?java.util.ArrayList;

import?java.util.List;

/**

*?Created?by?cxq?on?2017-11-27.

*/

public?class?Test?{

public?static?void?main(String[]?arg0){

//泛型類型

TypeToken?typeToken?=?new?TypeToken>>(){};

Type?type?=?typeToken.getType();

//模擬數(shù)據(jù)列表

List>?list?=?new?ArrayList>();

list.add(new?User(1,"hello"));

list.add(new?User(2,"world"));

String?json?=?JSONArray.toJSONString(list);

System.out.println(json);

//輸出:[{"id":1,"name":"hello"},{"id":2,"name":"world"}]

//我們來看看不使用TypeToken的情況

List>?result1?=?JSONArray.parseObject(json,?list.getClass());

System.out.println(result1);

//輸出:[{"id":1,"name":"hello"},?{"id":2,"name":"world"}]

//再來看看使用TypeToken的情況

List>?result2?=?JSONArray.parseObject(json,?type);

System.out.println(result2);

System.out.println(result2.get(0).getName().getClass());

//輸出:[com.weizhixi.test.User@db8155,?com.weizhixi.test.User@107f7fe]

//輸出:class?java.lang.String

}

}

User.javapackage?com.weizhixi.test;

/**

*?Created?by?cxq?on?2017-11-27.

*/

public?class?User{

private?Integer?id;

private?T?name;

public?User(){

}

public?User(Integer?id,?T?name){

this.id?=?id;

this.name?=?name;

}

public?Integer?getId()?{

return?id;

}

public?void?setId(Integer?id)?{

this.id?=?id;

}

public?T?getName()?{

return?name;

}

public?void?setName(T?name)?{

this.name?=?name;

}

}

本例子需使用的jar包有:

fastjson-1.1.41.jar

guava-16.0.1.jar

com.google.guava

guava

16.0.1

com.alibaba

fastjson

1.1.41

獲取泛型的類型例子.zip

5060f40b6ca00d5c42c03c26533a581d

已下載:20 次

原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處:https://www.weizhixi.com/article/7.html

總結(jié)

以上是生活随笔為你收集整理的java 获取泛型的type,如何获取泛型的Type类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品美乳在线观看 | 狠狠干夜夜 | 日本女人一级片 | 欧美精品一区在线 | 亚洲国产精品狼友在线观看 | mm1313亚洲国产精品无码试看 | 久久av一区二区三 | 国产经典久久久 | 秋葵视频在线 | 日韩精品tv | 男人天堂av电影 | 亚洲国产一区二区三区在线观看 | 永久免费av无码网站性色av | 欧美熟妇精品一区二区蜜桃视频 | 制服丝袜在线一区 | 国产成人三级一区二区在线观看一 | 午夜影院一区二区三区 | 激情视频免费在线观看 | 女同毛片一区二区三区 | 欧美爽爽| 成人在线观看亚洲 | 青青视频免费在线观看 | 亚洲AV无码国产成人久久 | 中国免费看的片 | 久久色网| 亚洲天堂社区 | 国产精品无码一区二区三区 | 久久精品成人 | 欧美激情第五页 | 免费99视频 | 亚洲三级在线视频 | 亚洲精品久久久久avwww潮水 | 爱综合网 | 五月天激情四射 | 午夜888| 日日噜噜夜夜狠狠久久波多野 | 国产亚洲精品久久777777 | 久久综合精品国产二区无码不卡 | 肉肉h | 色婷婷中文字幕 | 天堂在线播放 | 亚洲激情一区 | 欧美乱妇日本无乱码特黄大片 | 伊人激情视频 | 手机看黄色 | 夜夜cao | 日本欧美国产一区二区三区 | 精品国产一区二区三区无码 | 亚洲精品v天堂中文字幕 | 国产精品一区久久久 | 精品久久久久久久久久久久久久久久久 | 亚洲国产视频一区二区三区 | 黄网站色视频免费观看 | 操小妹影院 | 精品久久久久久久久久久国产字幕 | 日韩最新| 99国产精品久久久久99打野战 | www.x日本| 先锋av资源网站 | 狠狠干一区 | 国产亚洲精品美女久久久 | 亚洲图片偷拍区 | 香蕉视频911 | 亚洲第一成人网站 | 免费视频网站www | 日韩三级不卡 | 亚洲另类xxxx | 日本a在线免费观看 | 国产乱强伦一区二区三区 | 国产农村妇女精品一二区 | 变态另类ts人妖一区二区 | 91看篇| 中文人妻熟妇乱又伦精品 | 欧美日韩中文字幕在线观看 | 亚洲av无码久久精品狠狠爱浪潮 | 青青国产视频 | 国产激情视频在线播放 | 午夜免费一级片 | 特级做a爱片免费69 少妇第一次交换又紧又爽 亚洲大胆人体 | 欧美91av| 黄色片网站免费观看 | 小香蕉影院 | 婷婷丁香六月 | 国产男女激情 | 亚洲精品视频大全 | 可以直接看的无码av | 黄色高清视频 | 中文字幕第12页 | 我想看毛片 | 午夜看片在线 | 国产青草视频在线观看 | 狠狠躁日日躁夜夜躁 | 天天夜夜久久 | 国产夫妻av | 久久这里只精品 | 伊人av在线| 假日游船法国满天星 | 短视频在线观看 | 国产日批 |