最新回答 / 慕客火星人
Java 泛型的参数只可以代表类,不能代表个别对象。由于 Java 泛型的类型参数之实际类型在编译时会被消除,所以无法在运行时得知其类型参数的类型。Java 编译器在编译泛型时会自动加入类型转换的编码,故运行速度不会因为使用泛型而泛型约束加快。Java 允许对个别泛型的类型参数进行约束,包括以下两种形式(假设 T 是泛型的类型参数,C 是一般类、泛类,或是泛型的类型参数):T 实现接口 I 。T 是 C ,或继承自 C 。一个泛型类不能实现Throwable接口。
2015-09-24
最新回答 / no_return
java集合中的泛型,是为了防止错误输入的(如,{“abc”,20}就不能同时输入),但只有在编译时有效,编译后就无效了。但编译不通过,代码就不能执行。通过反射泛型可以跳过编译,直接执行
2015-08-15
已采纳回答 / 阳少兮_s
以下所说的只是自己的理解。如果有不对的情况请大家指正我。一般情况下我们都会使用new Foo().print();这种情况下是我们肯定使用Foo的对象的时候我们会这么用。但是当我们需要在运行时才能确认哪个类的print方法时会用到反射。比如现在有个方法,根据我们传递的类名来调用方法public void print(String className) { Class<?> c = Class.forName(className); ......}这样,只要你传入正确的类名,不仅能调用Foo类...
2015-07-28
最赞回答 / 好帮手慕珊
现在很多公司用的框架都是自己写的,这时候就要用到反射了。javaweb中的常见框架struts2、hibernate、spring等都用到了反射。慕课网后面会出注解方面的课程,里面会用到反射,到时候你可以来看看。
2015-07-14