黑马程序员技术交流社区

标题: 完全没有思路,哪位大神能指点一二? [打印本页]

作者: 黄冬    时间: 2015-5-22 01:45
标题: 完全没有思路,哪位大神能指点一二?
ArrayList<Integer> list = new ArrayList<Integer>();
在这个泛型为Integer的ArrayList中存放一个String类型的对象。
作者: jiangwenjun    时间: 2015-5-22 05:33
反射  因为如果我正常的的手段,在编译时期就会一直报错! 那么我们就可以用反射的手段,因为反射是在类运行时可以直接进行操作。你看懂类反射就懂了! 还有泛型的作用就是对代码的判断由运行时期拿到编译时期,这样更安全,更有利于给编程者知道进行修改。

ArrayList<Integer> list = new ArrayList<Integer>();
Class clazz =list.getClass();
Method me = clazz.getMethod("add",Object.class);
me.invoke(list,"safsfsdfd");

作者: 小悟空et    时间: 2015-5-22 09:36
嗯。据说是用反射,但是我不会,毕老师的视频里好像没有,我也得去找找张老师的视频看看了
作者: 宥美    时间: 2015-5-22 09:58
好问题  学习了
作者: cunbai    时间: 2015-5-22 12:01
为何要用Integer的泛型集合保存String 看不懂呃
作者: Plus    时间: 2015-5-22 14:58
好问题  学习了
作者: 想要那片海    时间: 2015-5-22 15:08
jiangwenjun 发表于 2015-5-22 05:33
反射  因为如果我正常的的手段,在编译时期就会一直报错! 那么我们就可以用反射的手段,因为反射是在类运 ...

一直觉得反射好麻烦,没想到其实应用很灵活呀
作者: yokii83    时间: 2015-5-22 15:24
意义在哪?我来长个姿势。
作者: jiangwenjun    时间: 2015-5-23 08:56
想要那片海 发表于 2015-5-22 15:08
一直觉得反射好麻烦,没想到其实应用很灵活呀

不麻烦呀!就几个单词  你只要记得 一开始考虑  有没有运行类  如果没有则用三个方式拿到字节码对象。然后看类中有无有参的构造函数 如果有就getConstructor 和newInstance 配合的   如果类中没有则直接newInstance  因为无参构造函数是默认的  还有剩下的就是 field 和method 的是就几个单词  就这样!
作者: jiangwenjun    时间: 2015-5-23 08:58
想要那片海 发表于 2015-5-22 15:08
一直觉得反射好麻烦,没想到其实应用很灵活呀

反射万变都是 我刚刚说的  你就直接OK




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