1. java中的泛型:<T extends List>和<? extends List>有什么区别?我都用过感觉没发现有什么区别啊?
2. int[] s={1,2};
float[] w=(float[])s;
定义了两个数组,为什么编译器报不兼容的类型:int[]无法转换为float[],java中int到float不是自动转换的吗?
3. 我写了四个滚动条,把它们当做四个线程,优先级设置分别设置为3,4,5,6 ,然后运行,发现四个滚动条滚动进度一样,不是说优先级高的先运行吗?那不是要等到优先级为6的滚动条运行完后才运行5,4,3?
求解答,新手,自学中。。。。。。。。。。。。
------解决方案--------------------
你都说了是int转float,这是java的基本数据类型,但是数组属于引用数据类型了。所以不能这样转了。编译器只会看这个元素的数据类型,而不管里面是什么。所以一个是int数组,一个float数组,当然不能转咯。
------解决方案--------------------
1、其实我也感觉没什么区别
2、你转换的是引用,你应该把里面的每一个元素都转成float
3、线程优先级在时间非常短的代码中没什么用,另外也不推荐自己设置优先级,可能各个平台的优先级都不一样,一个平台有的,可能另一个平台没有
------解决方案--------------------
带个T应该是为了你能在后面的代码里用T这个类型吧
数组转换的问题是因为不同数组类型实际上是不同的类,float[] 和 int[] 是两个不同的类,也不存在继承关系,当然不能转换。