出于空间和算法速度的考虑,我想采用数组包含LinkedList的方法,即数组元素是LinkedList。
声明为:public LinkedList<Element>[] A=null;
我初始化采用:A=new LinkedList[3];
但是Eclipse会报一个警告:Type safety: The expression of type LinkedList[] needs unchecked conversion to conform to LinkedList<Element>[]
其中一种方式是加上:@SuppressWarnings("unchecked")语句
但是这并不是一个很好的解决方案,想请教各位大侠,以上语句如何进行编写,才能使消除警告并且达到目的。
PS:我仔细考虑过了,只有用数组嵌套LinkedList的方法,才能使时间和空间上优化,所以不要提更改数据结构的方法。也算是研究下Java,这种情况应该怎么处理。

解决方案 »

  1.   

    有警告是应为你在用集合的时候需要使用多态,你没有用,不过程序可以正常运行,如果你一定要去掉警告就加上多态
    public LinkedList<Element>[] A=null;
    A=new LinkedList<Element>[3];
    Element 是你要放入集合的具体的类的类型 
    public LinkedList<int>[] A=null;
    A=new LinkedList<int>[3];
      

  2.   

    Java不支持generic数组,所以不支持new LinkedList<Element>[3]这样的表达式。其实声明一个元素为LinkedList<Element>的List也是个选择,譬如:List<LinkedList<Element>> l =new LinkedList<LinkedList<Element>>();
      

  3.   

    二楼说的方法我试过了,不对。
    public LinkedList<Element>[] A=null;
    真的不能无警告初始化么?
      

  4.   

    java 不支持 泛型数组,具体信息 Think in java 一书由详细介绍。