国产成人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基础

关注

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

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

韩国 朋友家的麦子| 蜜桃成时熟2| 榨精病栋| 妈妈你真棒插曲MV| 水蜜桃免费高清电视剧大全| 偷吃爸爸擎天柱1-100集| 双人床上剧烈运动会怎么消除| 蜜桃成熟2| 《出差的日子》中文版| 《酒店激战》动漫1-5集免费观..| 《家访的老师》动漫在线观看| 九九在线观看免费播放大全电视剧| 《性爽2》电影| 苍井空《办公室爱欲》| 黑色蕾丝女装大长腿| 麻花传MV在线看免费观看电视剧| 刀郎个人简历| 英语班长乖乖挽起裙子怎么| 蜜汁| 荡公乱妇第1章情公苏雪视频| 麻花星空MV高清在线播放| 亲亲抱抱拔萝 卜| 第-次和公翁做爰又大又粗| 杨思敏电影| 《再来一次好吗》动浸| 女人被添荫蒂舒服了| 口咬二十八个图片高清| 黄金网站APP免费| 公翁挺进小玲的小流| 疼~好疼~进不去了男男| 工口漫| 《出差的日子》叶爱| 精品免费国产一区二区三区四区| 狗和女人戴避孕套会传染吗| 女人乱子伦xXX沧州| [汉化版]全彩漫画免费阅读 | 法国《监狱伦理3》| 《再来一次好吗》动浸| 私密整形医院| 无码欧XXXXX在线观看免费| 啾咪浸画