黑马程序员技术交流社区
标题:
泛型中的疑惑
[打印本页]
作者:
王自强
时间:
2012-9-14 14:23
标题:
泛型中的疑惑
import java.util.*;
import java.lang.reflect.*;
class Test
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<String>();
try
{
Method addMethod=list.getClass().getMethod("add", String.class);
//这里的String.class会报告NoSuchMethodException,
//为什么?泛型已定义好为String类型了啊
addMethod.invoke(list, "zhangsan");
addMethod.invoke(list, "lisi");
System.out.println(list);
}
catch (NoSuchMethodException e)
{
e.printStackTrace();
}
catch(SecurityException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
}
catch (InvocationTargetException e)
{
e.printStackTrace();
}
}
}
复制代码
作者:
张 涛
时间:
2012-9-14 15:41
因为泛型到class之后的作用就消失了。method是从class获取的,无法获得String类型,所以会错,写成Object吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2