public class emm {
public void test01(Map<String,User>map,List<User>list)
{
System.out.println("test01");
}
public Map<String,User> test02()
{
System.out.println("test02");
return null;
}
public static void main(String[] args) {
try {
Method m=emm.class.getMethod("test01", Map.class,List.class); //反射方法
Type[] t=m.getGenericParameterTypes(); //获得带泛型的参数类型,返回的是type类型的数组
for(Type paramType:t)
{
System.out.println("#"+paramType);
if(paramType instanceof ParameterizedType) { //判断是不是一个规范化参数类型
//如果是强制转为规范化带泛型的参数类型,因为可能有多个泛型类型,所以用数组
Type[] genericTypes=((ParameterizedType) paramType).getActualTypeArguments();//获得真正的泛型的类型,String、User
for(Type genericType:genericTypes)
{
System.out.println("泛型类型"+genericType);
}
}
}
Method m2=emm.class.getMethod("test02", null);
Type returnType=m2.getGenericReturnType(); //获得带泛型的返回类型
if(returnType instanceof ParameterizedType) //判断是不是规范化的带泛型的返回类型
{
//强制转换成规范化的带泛型的参数类型
Type[] genericTypes=((ParameterizedType)returnType).getActualTypeArguments();
for(Type genericType:genericTypes)
{
System.out.println("返回值泛型类型"+genericType);
}
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。
网页标题:java反射操作泛型-创新互联
路径分享:https://www.cdcxhl.com/article12/gscdc.html
成都网站建设公司_创新互联,为您提供网站设计、搜索引擎优化、全网营销推广、标签优化、App开发、网站建设
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联