首页 / 知识
关于Java:如何获取参数化的Class实例
2023-04-15 21:18:00

How to get parametrized Class instance
由于引入了泛型,因此对Class进行了参数化,因此List.class生成Class
我无法弄清楚的是如何获取本身已参数化的Class类型的实例,即Class
我经常遇到这个问题的变种,但我仍然不知道,是否只是想念一些东西,或者真的没有更好的方法。 感谢您的建议。
Class类是一种类型的运行时表示。由于参数化类型在运行时会进行类型擦除,因此Class的类对象与Class
您无法使用.class表示法实例化它们的原因是,这是用于类文字的特殊语法。参数化类型时,Java语言规范特别禁止使用此语法,这就是为什么不允许List 我认为您无法做自己想做的事情。首先,您的实例化方法不知道它处理的是参数化类型(您可以轻松地将其传递给java.util.Date.class)。其次,由于擦除,在运行时对参数化类型进行特别特定的操作是困难的或不可能的。 如果您以不同的方式解决问题,则可以做其他一些小技巧,例如类型推断:
类表示由类加载器加载的类,它们是原始类型。要表示参数化类型,请使用java.lang.reflect.ParameterizedType。
您唯一可以做的就是直接实例化
对于具有多个抽象方法(如 |
最新内容
相关内容
linux命令实例练习?
linux命令实例练习?,工作,系统,设备,代码,命令,信息,基础,网络,目录,文本,linux常用命令及用法1、linux系统常用操作命令如下:ls:全拼list,功能是linuxln命令实例?
linuxln命令实例?,位置,数据,链接,地方,信息,文件,系统,概念,名字,盘中,ln命令用什么查看软连接的信息?1、用命令:ls -l 查看, 最前面有“l”的linuxln命令实例?
linuxln命令实例?,位置,数据,链接,地方,信息,文件,系统,概念,名字,盘中,ln命令用什么查看软连接的信息?1、用命令:ls -l 查看, 最前面有“l”的linux基本命令实例?
linux基本命令实例?,工作,地址,系统,信息,命令,标准,目录,基础,简介,功能,Linux常见命令linux系统常用操作命令如下:ls:全拼list,功能是列出目录linux启动实例的命令?
linux启动实例的命令?,密码,软件,环境,系统,管理,情况,工具,数据,设备,位置,linux中如何开机启动运行指定的应用程序或指令?1、开机启动时自动查看linux类型命令?
查看linux类型命令?,系统,信息,命令,状态,数据,数字,情况,地址,类型,文件,linux查看系统命令是什么1、linux怎么查看系统版本呢,下面就让我们来linux删除类型命令?
linux删除类型命令?,系统,档案,命令,文件,名称,环境,数据,不了,目录,文件夹,关于linux的删除命令命令格式:rm [选项] 文件… 命令功能:删除一个查看linux库类型命令?
查看linux库类型命令?,系统,工作,信息,状态,电脑,命令,工具,代码,地址,发行,如何查看Linux上程序或进程用到的库查看程序依赖的动态库:readelflinux网卡类型命令?
linux网卡类型命令?,网络,系统,地址,信息,设备,状态,服务,名称,名字,网卡,如何配置Linux网卡配置网卡地址:点击 网络(K) 按钮进行配置网络 选择linux查看命令类型用?
linux查看命令类型用?,信息,系统,情况,命令,实时,工作,设备,电脑,文件,类型,如何区分linux文件类型?1、普通文件类型 Linux中最多的一种文件类linux常用命令及实例?
linux常用命令及实例?,系统,工作,地址,信息,标准,网络,管理,电脑,命令,目录,Linux文件相关命令命令一:cat cat命令应该是在Linux中查看文件内容linux命令三种类型?
linux命令三种类型?,工作,地址,系统,标准,时间,管理,命令,目录,信息,文件,linux常用命令linux常用命令:查看内核版本:uname-a。图形界面:init5或