关于泛型的使用和不使用泛型在eclipse中的notice提示
代码如下
package cc.openhome;
import java.util.*;
public class Sort {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
List numbers = Arrays.asList(10, 2, 3, 1, 9, 15, 4);
Collections.sort(numbers);
System.out.println(numbers);
}
}
代码的第十二行提示如下
List is a raw type. References to generic type List<E> should be parameterized
代码的第十三行提示如下
Multiple markers at this line
- Type safety: The expression of type List needs unchecked conversion to conform to List<T>
- Type safety: Unchecked invocation sort(List) of the generic method sort(List<T>) of type
Collections
一开始我将十二行的代码修改如下
List<int> numbers = Arrays.asList(10, 2, 3, 1, 9, 15, 4);
结果这个是错的,查了下资料,发现泛型并不支持简单类型 ,对此,我也有疑惑,为何是这样
刚学java,望有经验的人告知我,如何修改上面的代码,就可以没有在eclipse中没有那个淡黄色警告了
------解决方案-------------------- List<Integer> numbers = Arrays.asList(10, 2, 3, 1, 9, 15, 4);
用int 的封装 Integer
------解决方案--------------------集合类不能够操作基本对象(int,long,double,boolean,char,float,short,byte)。需要使用它们的封装类对象。
int ->Integer
double ->Double
long->Long
boolean->Boolean
char->Character