文档章节

获取具体的泛型类型

非著名程序员Bla
 非著名程序员Bla
发布于 2016/05/18 18:04
字数 183
阅读 6
收藏 0

精选30+云产品,助力企业轻松上云!>>>

//获取泛型信息
public class GenericTest {

    @SuppressWarnings("unused")
    private Map<String,Integer>  score;
    @SuppressWarnings("unused")
    private List<String> list;

    public static void main(String[] args) throws Exception {
        getGenericType("score");
        getGenericType("list");
    }
    public static void getGenericType(String fieldName) throws Exception{
        Class<GenericTest> clazz = GenericTest.class;
        Field f = clazz.getDeclaredField(fieldName);
        //直接使用getType()取出类型只对普通类型的成员变量有效
        Class<?> a = f.getType();
        System.out.println(fieldName+"的类型是:"+a);
        //获取成员变量f的泛型类型
        Type gType = f.getGenericType();
        //类型判断
        if(gType instanceof ParameterizedType){
            //强制类型转换
            ParameterizedType pType =(ParameterizedType)gType;
            Type rType = pType.getRawType();
            System.out.println("原始类型是:"+rType);
            //取得泛型类型的泛型参数
            Type[] tArgs = pType.getActualTypeArguments();
            System.out.println("泛型的信息是:");
            for (int i = 0; i < tArgs.length; i++) {
                System.out.println("第"+i+"个泛型类型是:"+tArgs[i]);
            }
        }else{
            System.out.println("获取泛型类型出错");
        }
    }
}
上一篇: You raise me up
非著名程序员Bla
粉丝 15
博文 75
码字总数 0
作品 0
合肥
后端工程师
私信 提问
加载中
请先登录后再评论。
好程序员Java教程分享Java难点解析之泛型

  好程序员Java教程分享Java难点解析之泛型,只要带有<>的类或者接口,都属于带有类型参数的类或者接口,在使用这些类或者接口时,必须给<>中传递一个具体的引用数据类型。   泛型技术:...

好程序员官网
2019/11/01
7
0
Mybatis源码之美:2.4.6.解析泛型实际类型的工具类——TypeParameterResolver

解析泛型实际类型的工具类——TypeParameterResolver > 是mybaits中定义的一个用于解析泛型实际类型的工具类。 在java中定义了一个名为的接口,他是java编程语言中所有类型的公共接口,这里的...

吃竹子的程序熊
06/09
5
0
泛型,有点难度,会让很多人懵逼,那是因为你没有看这篇文章!

本文主要讲解泛型类型的解析,泛型算是必须要掌握的一块硬核知识,在很多地方都会用到,这块如果理解了,在阅读其他框架源码的时候会让你更容易一些,看完本文之后大家对泛型也有一个新的认识...

osc_i05nmotv
04/16
5
0
从fastjson多层泛型嵌套解析,看jdk泛型推断

  给你一组json数据结构,你把它解析出来到项目中,你会怎么做? // data1 sample{ }// data2 sample{ }   首先,code,msg,data 肯定是固定结构,所以可以抽象出一层 data 的变化,可以...

osc_u4dvv5qa
2019/04/11
4
0
Java反射获取泛型类型

本文链接:https://blog.csdn.net/hongxingxiaonan/article/details/49202613 在Java反射技术的应用中,取得一个类的成员、方法和构造函数相对比较容易,但是要想取得其中包含的泛型类型则相...

osc_xvm19j4c
2019/11/28
3
0

没有更多内容

加载失败,请刷新页面

加载更多

你看起来很好吃

你看起来很好吃 本文分享自微信公众号 - ZackSock(ZackSock)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

ZackSock
2019/10/25
19
0
Python绘制日历图和热力图

日历热力图 实现某商店2018年10月1号至2019年3月1号期间每一天盈利额(产生5000至30000区间的随机数)的数据可视化。 要求在鼠标放置每个单元格上时显示具体日期和对应数据 import datetime ...

气象学家公众号
07/03
10
0
#乔布简历#计协纳新季福利!乔布简历20元会员卡免费送

#乔布简历#计协纳新季福利!@乔布简历 20元会员卡免费送!活动规则:1)转发本微博/说说@ 三个好友;2)搜索关注“乔布堂”微信公众号,回复“BC016@你的QQ号”;截图发给计协微信公众号:j...

若川
2014/09/22
12
0
第十一届蓝桥第一场省赛题 走方格

走方格 问题描述: 在平面上有一些二维的点阵。这些点的编号就像二维数组的编号一样。从上到下依次为第 1 至第 n 行,从左到右依次为第 1 至第 m 列,每一个点可以用行号和列号来表示。现在有...

osc_kf7nv2km
35分钟前
29
0
HTTP/2协议之Stream【原理笔记】

前言 前面三篇介绍了HPPT/2的“连接前言”、“二进制桢”、“头部压缩”。本文从“流及多路复用”、“流状态”、“流量控制”、“流优先级”、“HTTP/2扩展”介绍HTTP/2协议流相关知识。 一、...

瓜农老梁
05/31
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部