private T[] elements;
elements = (T[])new Comparable[10];warning: [unchecked] unchecked cast虽然可以用没什么问题 但是要求不能有warning.. 怎么办..我试过用
elements = new Comparable<T>[10];
编译通不过
错误是: generic array creation
到底怎么去掉这个Warning啊…

解决方案 »

  1.   

    "你这里不是数组的泛型吧" 什么意思?
    .. 能不能用英文说.. 我们这里都是英文教材 好不容易才把Generic Class翻译成泛型..这是一个泛型UniqueQueue类代码的一部分..怎么解决这个Warning?
      

  2.   

    我代码不是贴了么
    就这2行private T[] elements;
    elements = (T[])new Comparable[10];只要能编译通过就行
    完整代码不能贴 否则我就会得0分了..
      

  3.   

    说错了只要能没有Warning编译通过就行 实现和这两行一样的功能
      

  4.   

    数组是没有泛型的new Comparable()应该是这个接口的泛型 指明比较的具体类型
      

  5.   

    我们不讨论Comparable的问题范例是
    class GStack<T> {
       private T[] elements;   public GStack() { this(10); }   public GStack(int capacity) {
          elements = (T[])new Object[capacity];
       }
    }这是课本上的范例 一样有这个Warning 解决了这个 那个也就解决了
      

  6.   

    sun官方的论坛 好像也在讨论这个 貌似没什么结果http://weblogs.java.net/blog/dwalend/archive/2005/01/did_i_miss_gene.html
      

  7.   

    我不太清楚你这句话的含义“数组是没有泛型的”我们称它为 array of generic type@SuppressWarnings("unchecked") 可以让这个不提示.. 但这个不是我需要的方案..
      

  8.   

    class GStack<T> {
       private T[] elements;   public GStack() { this(10); }   public GStack(int capacity) {
          elements = (T[])new T[capacity];
       }
    }
    哈哈