Class<Number> = int.class 就会报错。。
不会自动的向上转型吗
不会自动的向上转型吗
解决方案 »
- 请问这段代码那里出错,易导致后面的报错(在线等)
- 帮我看看这个接口与内部的程序!谢谢
- 代码出现问题,急,求助!
- JAVA可以在Windows下开发像VC那样窗口界面的程序吗?
- 听说有把其他语言编译为*.class的编译器?
- ☆☆☆☆☆☆☆☆☆☆☆☆我甩分求答案,不要up,不会者也不要跟贴了,希望高手给我解答!!★★★★★★★★★★★★★★
- 重用,重载,重写有什么区别吗?
- 一個關於unicode的問題.
- 怎样在javascript中获得当前页面里的applet中发生的事件,比如鼠标单击。在脚本中给applet设置onclick函数我试过了,根本不能触发。
- Java习题求解
- 有关java和c++ 执行效率,以下代码java要10秒左右,vc6下debug版要33秒,而release基本不费时间,在1ms下就可算完
- 接口的问题 public abstract List list();int i = list().size();
报错的是下面这句话
Class<Number> = int.class
晕我忘了写。。 加上变量名一样会报错
或
Class<Integer> clazz = int.class; // 建议以后用Integer.class泛型中,X<Integer>并不是X<Number>的子类型,但是X<Integer>是X<? extends Number>的子类型
报错的是下面这句话
Class<Number> = int.class
可以认为
一个Class<Integer>不是一个Class<Number>
下面还一个例子,可以帮助理解由于引入了泛型,原来的Class在泛型中都变成了Class<T>,其中T是可以具体化的类型;因为class永远代表一个具体化的类型,所以不允许使用非具体化类型来参数化Class!如:
Class<Integer> c1 = Integer.class; // OK
Class<? Extends Number> c2= Integer.class //OK Integer.class的类型是Class<Integer>而Class<Integer>刚好是Class<? Extends Number>的子类
Class<?> c3 = List<Integer>.class //错误,违背上面的原则
Class<?> c4 = Integer.class; //OK
我们认为List<Driver> 就是 List<Person>,假设Driver是Person的子类型的话。
但实际上被提交的只是一份驾驶员的登记簿拷贝而已(意思就是 是可以再改变的),如果不是,人口登记局就可以将那些不是驾驶员的人再加入到这个驾驶员列表中,破坏了机动车部门的记录。