国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > java基础 > java使用ParameterizedType实现泛型

java使用ParameterizedType实现泛型

头像

小妮浅浅

2021-05-11 09:20:073702浏览 · 0收藏 · 0评论

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1、过程

(1)测试属性类型

(2)打印type与generic type的区别

(3)测试参数类型

(4)测试返回值类型

2、实例

public class Client {
 
    private Map<String, Object> objectMap;
 
    public void test(Map<String, User> map, String string) {
    }
 
    public Map<User, Bean> test() {
        return null;
    }
 
    /**
     * 测试属性类型
     *
     * @throws NoSuchFieldException
     */
    @Test
    public void testFieldType() throws NoSuchFieldException {
        Field field = Client.class.getDeclaredField("objectMap");
        Type gType = field.getGenericType();
        // 打印type与generic type的区别
        System.out.println(field.getType());
        System.out.println(gType);
        System.out.println("**************");
        if (gType instanceof ParameterizedType) {
            ParameterizedType pType = (ParameterizedType) gType;
            Type[] types = pType.getActualTypeArguments();
            for (Type type : types) {
                System.out.println(type.toString());
            }
        }
    }
 
    /**
     * 测试参数类型
     *
     * @throws NoSuchMethodException
     */
    @Test
    public void testParamType() throws NoSuchMethodException {
        Method testMethod = Client.class.getMethod("test", Map.class, String.class);
        Type[] parameterTypes = testMethod.getGenericParameterTypes();
        for (Type type : parameterTypes) {
            System.out.println("type -> " + type);
            if (type instanceof ParameterizedType) {
                Type[] actualTypes = ((ParameterizedType) type).getActualTypeArguments();
                for (Type actualType : actualTypes) {
                    System.out.println("\tactual type -> " + actualType);
                }
            }
        }
    }
 
    /**
     * 测试返回值类型
     *
     * @throws NoSuchMethodException
     */
    @Test
    public void testReturnType() throws NoSuchMethodException {
        Method testMethod = Client.class.getMethod("test");
        Type returnType = testMethod.getGenericReturnType();
        System.out.println("return type -> " + returnType);
 
        if (returnType instanceof ParameterizedType) {
            Type[] actualTypes = ((ParameterizedType) returnType).getActualTypeArguments();
            for (Type actualType : actualTypes) {
                System.out.println("\tactual type -> " + actualType);
            }
        }
    }
}

以上就是java使用ParameterizedType实现泛型的方法,希望能对大家有所帮助。更多Java学习指路:Java基础

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《XL司令》第一季动漫免费播放| 公在厨房撕开奶罩吸奶头| 两人一起做AJ的视频教程| 老公咬我小头头疼了好几天| 731大溃逃| 小小小蜜桃免费观看电视剧高清 | 群体轮换| 《熟妇的荡欲》HD中字| 《无能的丈夫》完整版| 美女两个球球抖动抓球球视频| 快拨出天我是你母亲歌词监控| 苏软软汆肉的日常花卷| 三飞母姐妹花女儿的小说| 教室停电 挺进她体内H| 熟母10和熟母10的区别| 18岁的少女与狗高清电视剧| 国产一区二区三区| 《在线观看交换做爰》| 国产暴力强伦轩| 父女一起到达巅峰的小说| 性做爰全过程免费看| 无套内谢A片毛片免费| 苍井空人体写真| 老师好爽要尿了潮喷了18P| 法国空姐| 他的大手在秘密花园小说免费阅读 | UFOTABLE| 韩浸在线阅读浸画画免费读漫画下.. | 女子蹲坑排尿全过程| 多村三飞母姐妹花女儿的小说| 久久精品| 三个老头拥着躁我一晚| 欧洲最强女RAPPER免费 | 腿张开我要添到你高潮H漫画软件 他扒开我小滨添我三男一女视频 丫头把腿开大让我添添电影 | 班长哭了能不能再抠游戏里面的钱| 自己怎么玩隐私位置游戏| 《交换做爰》在线观看| 指尖搅动我的心弦| 《交换做爰》在线观看| 《老板娘2》完整版| 金瓶双艳