当前位置: 首页 > news >正文

Java获取泛型T的类型 T.class

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

public class Main{
    public static void main(String[] args)
    {
        Foo<String> foo = new Foo<String>(){};
        // 在类的外部这样获取
        Type type = ((ParameterizedType)foo.getClass().getGenericSuperclass()).getActualTypeArguments()[0];
        System.out.println(type);
        // 在类的内部这样获取
        System.out.println(foo.getTClass());
    }
}

abstract class Foo<T>{
    public Class<T> getTClass()
    {
        Class<T> tClass = (Class<T>)((ParameterizedType)getClass().getGenericSuperclass()).getActualTypeArguments()[0];
        return tClass;
    }
}

 

转载于:https://my.oschina.net/u/2526015/blog/1806546

相关文章:

  • OSChina 周六乱弹 —— 他曾经是个王者,后来出车祸了
  • 环境搭建,8种基本类型,Static,package和import,log4j
  • 矩阵快速幂求斐波那契数列
  • Appium 自动化测试环境部署篇
  • 纯OC实现iOS DLNA投屏功能了解一下
  • Odoo domain写法及运用
  • jQuery学习小结
  • 重塑旅游业的颠覆者:虚拟现实技术和人工智能
  • IntelliJ IDEA 乱码解决方案 (项目代码、控制台等)
  • Confluence 6 升级自定义的站点和空间应用你的自定义布局
  • php对字符串的操作
  • js,H5本地存储
  • 关于Linux的交叉编译环境配置中的问题
  • 感知机和神经网络
  • 团队作业6——展示博客(alpha阶段)
  • Angular 响应式表单 基础例子
  • C++类的相互关联
  • JS题目及答案整理
  • Laravel 实践之路: 数据库迁移与数据填充
  • laravel5.5 视图共享数据
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • node和express搭建代理服务器(源码)
  • orm2 中文文档 3.1 模型属性
  • spring security oauth2 password授权模式
  • unity如何实现一个固定宽度的orthagraphic相机
  • Vim 折腾记
  • Vue实战(四)登录/注册页的实现
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 全栈开发——Linux
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 网络应用优化——时延与带宽
  • 移动端解决方案学习记录
  • #mysql 8.0 踩坑日记
  • #pragma once
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (四) Graphivz 颜色选择
  • (推荐)叮当——中文语音对话机器人
  • (万字长文)Spring的核心知识尽揽其中
  • (原)本想说脏话,奈何已放下
  • (转载)Linux网络编程入门
  • (状压dp)uva 10817 Headmaster's Headache
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .bat批处理(六):替换字符串中匹配的子串
  • .md即markdown文件的基本常用编写语法
  • @Documented注解的作用
  • [ 数据结构 - C++] AVL树原理及实现
  • [145] 二叉树的后序遍历 js
  • [2008][note]腔内级联拉曼发射的,二极管泵浦多频调Q laser——
  • [2021ICPC济南 L] Strange Series (Bell 数 多项式exp)
  • [Android]RecyclerView添加HeaderView出现宽度问题
  • [Asp.net MVC]Asp.net MVC5系列——Razor语法
  • [AutoSar]BSW_OS 01 priority ceiling protocol(PCP)
  • [C++]C++类基本语法