黑马程序员技术交流社区

标题: 求解:泛型的问题 [打印本页]

作者: pphdsny3    时间: 2012-9-4 11:03
标题: 求解:泛型的问题

为啥加了具体的泛型就报错?

加个问号就没问题呢?
求解答!!!

作者: 武庆东    时间: 2012-9-4 11:26
?是占位符,代表任意类型!
Class<Person> clazz=(Person)Class.forName("XXXXXX");你之前好像没有加强制类型转换符号!?
作者: 李志群    时间: 2012-9-4 11:31
楼主你的程序 我估计是 泛型限定这方面出了错误哦。。。
泛型的限定:
                明确具体类型代表一个类型,明确?代表所有类型,
                能不能对操作的类型限制在一个范围之内呢?
               
                比如:定义一个功能,只操作person类或者person子类型。这时可以用? 继承 E接收e类型或者E的子类型。
                存储时候就用这种方式。这就是上限。
                下限的表示形式: ? super E;接受E类型或者E的父类型。
                                               
        什么时候使用上限呢? 一般情况下,只要是往容器中添加元素时,使用上限 ? extends         E
        什么时候使用下限呢?一般情况下,只要是从容器中取出元素时,使用下限 ? super E       
作者: 王陶成    时间: 2012-9-4 12:37
Class.forName(String className)  API 说返回的是 具有指定名的类的 Class 对象
你的第一个代码 用泛型指定 Person类型,它返回的不是Person类型,要强转
第二个代码的 ? ,可以接受任何类型,所以不报错




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2