java 泛型 编译警告:使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。

原因:jdk 1.5及以上编译 且对象未具体指定类型

由于jdk 1.5以后的Comparable接口定义如下

public interface Comparable {

   public int compareTo(T o)

}

所以使用泛型时如果需要Comparable时,需要如下写法

Class Heap>{}


另外,还有一些不经意的错误会造成,例如:


class ClassA{

T element;

};

main(){

//会发生警告
ClassA a =new ClassA();

a.element=2;


//修改为如下

ClassA a=new ClassA<>();

        a.element=2;

}


由于java不支持泛型数组,所以当出现类似一下的代码时,也会发生警告。

class OB
{
private Object o;
public void setO(T t){
this.o=t;
}
public T getO(){
return (T) this.o;
}
}

你可能感兴趣的:(java,se)