通过反射还原实际参数类型

 

/*** 根据类型提取所有关联参数*/public static void getAllParameter(Type type, List<Class<?>> list) {Class<?> c1 = TypeUtil.getClass(type);if (type instanceof ParameterizedType) {Type[] ts = ((ParameterizedType) type).getActualTypeArguments();list.add(c1);for (Type tp : ts) {getAllParameter(tp, list);}} else {list.add(c1);}}

  public static void main(String[] args) throws NoSuchFieldException {Field field = User.class.getDeclaredField("list");Type fieldGenericType = field.getGenericType();ArrayList<Class<?>> list = new ArrayList<>();ClasUtil.getAllParameter(fieldGenericType, list);StringBuilder param = new StringBuilder();for (int i = 0; i < list.size(); i++) {String simpleName = list.get(i).getSimpleName();if (i >= 1) {param.append("<");}param.append(simpleName);}for (int i = list.size() - 1; i > 0; i--) {param.append(">");}System.out.println("type = " + param.toString());}
 /*** private CommonResp<List<PageResult<List<Primitive>>>> list;* <p>* 返回:type = CommonResp<List<PageResult<List<Primitive>>>>*/public static String getTypeString(ArrayList<Class<?>> list) {StringBuilder param = new StringBuilder();for (int i = 0; i < list.size(); i++) {String simpleName = list.get(i).getSimpleName();if (i >= 1) {param.append("<");}param.append(simpleName);}for (int i = list.size() - 1; i > 0; i--) {param.append(">");}return param.toString();}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过反射复原完整的src方法名称

/*** 根据方法名&#xff0c;生成完整的方法行** param clazz 字节码* param method java.lang.reflect method* return public static Annotation getAnnotation(Class<?> clazz, ConstPool constPool);*/public static String getSrcMethod(Class<?> clazz, M…

MethodDoc 转 Method

/*** MethodDoc 转 Method*/public static Method getMethod(Class<?> clazz, MethodDoc methodDoc) {com.sun.javadoc.Parameter[] parameters methodDoc.parameters();Class<?>[] classArray new Class[parameters.length];try {for (int i 0; i < param…

js关闭iframe窗口_[Selenium]24.处理弹窗新式的模态窗口

场景页面上弹出的对话框是自动化测试经常会遇到的一个问题。很多情况下这个弹出的对话框是一个iframe&#xff0c;处理起来有点麻烦&#xff0c;需要进行switch_to操作. 请参考文章测试曾哥&#xff1a;[Selenium]23.对话框的处理​zhuanlan.zhihu.com但现在很多前端框架的对话…

springboot 拦截器重复读取请求体

package cn.silence.config;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import java.io.IOException;/*** author 你的名字*/ WebFilter(filterName "FirstFilter", urlPatterns "/…

android 暂停其他app的声音_【一万个APP】第二十二期潮汐

基本信息分类:健康健美版本:Android-2.5.3 IOS-2.5.2更新时间:Android:2019.02.26 IOS:2019.03.06IOS评分(N/H):4.9/4.9开发商: 广州多少网络科技有限公司官方网站: https://tide.moreless.io/Android下载量:13,960,000IOS同类排名:52体验版本: Android-2.5.3PS&#xff1a;最近…

application配置中心

开111111111111111111111111111

c语言判断字符串是不是回文_LeetCode 热题 HOT 100 5. 最长回文子串

题目题解暴力法我们根据回文字符串特点进行判断一个字符串是不是回文。// 回文子串&#xff1a;首尾对称相等const isPalindrome s > { // abba aba for (let i 0; i < Math.floor(s.length / 2); i) { if (s[i] ! s[s.length - 1 - i]) { ret…

random list随机生成不重复数

有一个需求&#xff0c;需要随机生成六位数&#xff0c;从100001 ---999999但是又要不重复&#xff0c;且不影响性能。如果每次生成都去判断是否重复&#xff0c;当生成的次数足够多&#xff0c;会影响性能。我想的是开一条线程&#xff0c;提前去处理。 提前生成好随机的数。直…

django 默认查询条件_Python之Django系列-创建第一个应用-4

上一篇&#xff1a;Python之Django系列-创建第一个应用-3 上一篇文章我们介绍了创建项目&#xff0c;打开浏览器访问http://127.0.0.1:8000/polls/&#xff0c;能看见"投票主页视图"等描述。本篇文章我们接着上一篇文章继续学习&#xff0c;在Python之Django系列-初始…

Exception in thread “main“ java.lang.IllegalArgumentException: Illegal Capacity: -1

创建list集合下标超出。 模拟场景 我是由于创建list &#xff0c;大小的时候&#xff0c;写反了

三相同步电机怎么接线图_智能电表怎么接线 单相 三相电表接线图大全

电表分为单相电表和三相电表&#xff0c;接线方法又为直入式和互感式&#xff0c;现在我们分电表种类和接线方法&#xff0c;来讲解电表接线。单相电表直入式接线方法&#xff1a;家用单相电表的接线必须是左火L&#xff0c;右零N&#xff0c;左边火线进&#xff0c;火线出&…

window navicat连接阿里云服务器mysql步骤及常见问题

先登录自己的阿里云服务器 这有两个比较重要的&#xff0c;一个是配置出口端口&#xff0c; 还有一个就是拿到自己的公网ip 连接上服务器 我用的是finalshell 工具连接。 主要是基于docker安装mysql &#xff0c;现在我的服务器docker已经安装了&#xff0c;安装也很简单。网…

maya扇子动画_maya怎么制作一个万箭齐发的效果?

最近有基友大学作业需要做一个粒子效果的作业&#xff0c;我看到网上很多教程讲万箭齐发的&#xff0c;但是有的不细致有的重点都在表达式上&#xff0c;所以我写了一个快速get作业成果的教程。具体操作位置可以看末尾笔记哦。软件名称&#xff1a;AutoDesk maya 2015 64位中文…

docker安装mysql并使用navicat连接

创建映射目录&#xff0c;我安装在用户目录下 mkdir ~/mysql mkdir ~/mysql/conf mkdir ~/mysql/logs mkdir ~/mysql/data 分别执行以上命令&#xff0c;创建文件目录 #启动 docker run -id \ -p 3306:3306 \ --namemysql \ -v $PWD/conf:/etc/mysql/conf.d \ -v $PWD/logs:/lo…

记录生产BUG复盘

记录第一个生产bug&#xff0c;由于同一个服务在db层同时有mysql&#xff0c;mongodb实现。 归属于不同的项目。 在mysql项目时&#xff0c;由于增加的字段&#xff0c;由flyway执行。defualt 默认字段。 测试发布没有问题。 在发布归属mongodb项目时。flyway无法为mongodb执…

五人合伙最佳股份分配_五个人合伙,股份如何划分才合理?

今天和大家分享一个最近我们团队处理的案例&#xff0c;通过前面内容的分享&#xff0c;结合本案例看看你能从中悟出哪些内容&#xff1f;故事的主人翁叫晶晶&#xff0c;晶晶性格温柔&#xff0c;言语不多&#xff0c;属于传统的中国女性&#xff0c;具有中国传统女性之美。酷…

pyqt5 最小化 系统托盘_Qt中如何使窗口隐藏/最小化到托盘

展开全部功能62616964757a686964616fe78988e69d8331333361303733&#xff1a;窗口最小化后或者点击“hide”按钮将窗口隐藏到托盘。通常最小化的窗口会在任务栏上显示一个按钮。当用户按一下这个按钮&#xff0c;窗口就还原了。这是一个被大多数桌面环境&#xff0c;比如Window…

linux centos7下载安装zlib

安装nginx 缺少zlib依赖&#xff0c;由于各种环境无法拉取yum安装&#xff0c; yum安装 yum install -y zlib zlib-devel 手动安装 zlib 版本预览 Index of /fossilshttp://www.zlib.net/fossils/ 解压 tar -zxvf zlib-1.2.8.tar.gz 进入加压后的文件 cd zlib-1.2.8 执行…

idea 升级到2020后 无法启动_升级iOS 14尝鲜后,无法降级 iOS13.5.1?

北京时间6月23日凌晨1点&#xff0c;苹果在线上举行了WWDC 2020全球开发者大会。给我们正式带来了iOS 14&#xff0c;并且在凌晨3点半时的时候&#xff0c;苹果发布 iOS 14 beta 内测版系统&#xff0c;并提供内测升级方法&#xff0c;随后很多用户已经升级体验。但是尝鲜之后&…

【pcre 依赖】linux安装pcre 依赖

记录转载 一、pcre PCRE(Perl Compatible Regular Expressions)是一个轻量级的Perl函数库&#xff0c;包括 perl 兼容的正则表达式库。它比Boost之类的正则表达式库小得多。PCRE十分易用&#xff0c;同时功能也很强大&#xff0c;性能超过了POSIX正则表达式库和一些经典的正则…