日期:2014-05-20  浏览次数:20917 次

关于泛型的使用和不使用泛型在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