文档章节

ReflectUtil

罗盛力
 罗盛力
发布于 2015/03/30 15:21
字数 123
阅读 284
收藏 8

/**

 * 反射工具类

 * @author Q470

 *

 */

public class ReflectUtil {

/** 

     * 获得超类的参数类型,取第一个参数类型 

     * @param <T> 类型参数 

     * @param clazz 超类类型 

     */  

    @SuppressWarnings({ "rawtypes", "unchecked" })  

    public static <T> Class<T> getClassGenricType(final Class clazz) {  

        return getClassGenricType(clazz, 0);  

    }  

    /** 

     * 根据索引获得超类的参数类型 

     * @param clazz 超类类型 

     * @param index 索引 

     */  

    @SuppressWarnings("rawtypes")  

    public static Class getClassGenricType(final Class clazz, final int index) {  

        Type genType = clazz.getGenericSuperclass();  

        if (!(genType instanceof ParameterizedType)) {  

            return Object.class;  

        }  

        Type[] params = ((ParameterizedType)genType).getActualTypeArguments();  

        if (index >= params.length || index < 0) {  

            return Object.class;  

        }  

        if (!(params[index] instanceof Class)) {  

            return Object.class;  

        }  

        return (Class) params[index];  

    }  

}


© 著作权归作者所有

共有 人打赏支持
罗盛力
粉丝 35
博文 52
码字总数 19168
作品 0
梅州
程序员
Spring cache 自定义Key生成策略

最近使用Spring cache,发现使用默认生成的key策略只使用了方法入参作为key,很不灵活,用到真实的项目中也不太靠谱,于是自己实现它的key生成策略。 参考官方文档:http://docs.spring.io/s...

lis1314
2016/07/08
2.7K
12
MyBatis 物理分页foreach 参数失效

场景:MyBatis 物理分页,查询条件中需要用到foreach ,参数失效,查不到结果 分析:把java.sql的debug打开,sql语句正常,参数也正常。debug物理分页代码,setParameters时,boundSql.getA...

嘻哈开发者
2015/10/26
0
0
eclipse 安装scala4,2插件失败

eclipse.buildId=4.5.1.M20150904-0015 java.version=1.8.0_31 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x8664, WS=win32, NL=zhCN Framework arguments: -pro......

Baclk5
2016/12/08
431
0
Hutool 3.1.2 发布,Java 工具集

Hutool 是一个Java工具包,提供了丰富的文件、日期、日志、正则、字符串、配置文件等工具方法,并封装了一套简单易用的ORM框架。 主页:http://hutool.cn/ 文档:http://hutool.mydoc.io/ (...

路小磊
2017/10/27
1K
26
在reflect基础上的list和map的转化

/ Change the map structure to list and change the list to map structure @author LIUTIANFANG * @version 2010-8-16 下午01:16:11 */ public class MapListUtil { / 将对象类型的数据结构......

聚焦前沿技术
2013/03/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

GO 数组相关操作

package mainimport("fmt""math/rand""time")func main() {//数组的几种定义方式var arr1 [3]int = [3]int{1,2,3}var arr2 = [3]int{4,5,6}arr3 := [3]string{"h", "w", ......

汤汤圆圆
24分钟前
0
0
JAVA 中interrupt、interrupted和isInterrupted的区别

首先,我们说明下三个方法的功能 interrupt() 向当前调用者线程发出中断信号 isinterrupted() 查看当前中断信号是true还是false interrupted() 是静态方法,查看返回当前中断信号并将中断信号...

我爱春天的毛毛雨
28分钟前
0
0
Coding and Paper Letter(二十二)

资源整理。 1 Coding: 1.开源项目openeo api。oponEO开发了一个开放的API,以简单统一的方式将R,python和javascript客户端连接到对地观测大数据云平台的后台。 此存储库包含此API,即oponE...

胖胖雕
54分钟前
1
0
RxJS的另外四种实现方式(三)——性能最高的库

接上篇 RxJS的另外四种实现方式(二)——代码最小的库(续) 代码最小的库rx4rx-lite虽然在性能测试中超过了callbag,但和most库较量的时候却落败了,于是我下载了most库,要解开most库性能...

一个灰
今天
4
0
马太效应

马太效应

yizhichao
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部