通过反射获取方法的参数和返回值的泛型信息
1
package
test;
2
3
import
java.lang.reflect.Method;
4
import
java.lang.reflect.ParameterizedType;
5
import
java.lang.reflect.Type;
6
import
java.util.List;
7
import
java.util.Map;
8
9
public
class
TempTest
{
10
11
public
static
void
main(String[] args)
throws
Exception
{
12
Method[] methods
=
TempTest.
class
.getDeclaredMethods();
13
for
(Method method : methods)
{
14
System.out.println(
"
method:
"
+
method.getName());
//
方法名
15
16
//
//////////////
方法的参数
17
System.out.println(
"
paramTypeType:
"
);
18
Type[] paramTypeList
=
method.getGenericParameterTypes();
//
方法的参数列表
19
for
(Type paramType : paramTypeList)
{
20
System.out.println(
"
"
+
paramType);
//
参数类型
21
if
(paramType
instanceof
ParameterizedType)
/**/
/*
如果是泛型类型
*/
{
22
Type[] types
=
((ParameterizedType) paramType)
23
.getActualTypeArguments();
//
泛型类型列表
24
System.out.println(
"
TypeArgument:
"
);
25
for
(Type type : types)
{
26
System.out.println(
"
"
+
type);
27
}
28
}
29
}
30
31
//
//////////////
方法的返回值
32
System.out.println(
"
returnType:
"
);
33
Type returnType
=
method.getGenericReturnType();
//
返回类型
34
System.out.println(
"
"
+
returnType);
35
if
(returnType
instanceof
ParameterizedType)
/**/
/*
如果是泛型类型
*/
{
36
Type[] types
=
((ParameterizedType) returnType)
37
.getActualTypeArguments();
//
泛型类型列表
38
System.out.println(
"
TypeArgument:
"
);
39
for
(Type type : types)
{
40
System.out.println(
"
"
+
type);
41
}
42
}
43
44
}
45
46
}
47
48
public
static
String method1(List list)
{
49
return
null
;
50
}
51
52
private
static
Map
<
String, Double
>
method2(Map
<
String, Object
>
map)
{
53
return
null
;
54
}
55
56
}
posted on 2008-02-28 10:29
大卫
阅读(1240)
评论(2)
编辑
收藏
所属分类:
Java
评论
#
re: 通过反射获取方法的参数和返回值的泛型信息
2008-03-02 14:42
xifu
回复
更多评论
能人就是强悍,博主厉害
#
fd
2008-05-28 23:44
fdf
回复
更多评论
fdfdf
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
相关文章:
判断是否含有GBK以外的字符
Struts2 + jQuery 实现ajax
命令行junit
我的ant(带junit测试)
技术
回忆java与javac命令
关于通过正则表达式获取串中值的小代码
Ext结合DWR的关键代码(运行成功的DWRProxy)
在项目中使用DWR框架需注意的
通过反射获取方法的参数和返回值的泛型信息
日积月累
Java笔记
导航
BlogJava
首页
新随笔
联系
聚合
管理
统计
随笔 - 47
文章 - 0
评论 - 85
引用 - 0
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
■
Java(29)
(rss)
■
JavaScript(6)
(rss)
■
Linux(3)
(rss)
■
web(4)
(rss)
■
我的代码(2)
(rss)
■
数据库(1)
(rss)
■
经验(6)
(rss)
■
设计(1)
(rss)
随笔档案
■
2008年10月 (1)
■
2008年9月 (4)
■
2008年8月 (1)
■
2008年7月 (1)
■
2008年6月 (4)
■
2008年5月 (3)
■
2008年3月 (5)
■
2008年2月 (8)
■
2008年1月 (15)
搜索
最新评论
1. re: 执行iframe中的javascript方法
frameName.functionName()
这样也可以调用.
parent.functionName()
这样可以调用父的JS函数
--aisdf
2. re: 执行iframe中的javascript方法
能跨域执行吗?
恐怕不行吧?!
--jacky_zz
3. re: 执行iframe中的javascript方法
@letitbe
那...好吧
--大卫
4. re: 执行iframe中的javascript方法[未登录]
这个就别放首页了
--letitbe
5. re: 执行iframe中的javascript方法
window.frames['framename'].functionName();
--王兵
阅读排行榜
1. 如何在三个月掌握三年的经验(转载&&笔记)(3908)
2. 数据库设计5步骤(收藏)(3146)
3. eclipse实用插件(个人笔记)(2936)
4. 一个计算机专业学生几年的编程经验汇总(收藏)(2686)
5. 需要牢记的java编程规则(收藏)(2634)
评论排行榜
1. 一个计算机专业学生几年的编程经验汇总(收藏)(11)
2. 对一个算法笔试题的注解(10)
3. windows系统垃圾清理(8)
4. mysql编码转换搞定(8)
5. 如何在三个月掌握三年的经验(转载&&笔记)(6)
60天内阅读排行
1. Struts2 + jQuery 实现ajax(1782)
2. 执行iframe中的javascript方法(942)
3. 推荐画图工具smartdraw(934)
4. 这个手写输入真棒!(915)
5. 判断是否含有GBK以外的字符(28)