Java 泛型类方法上的不兼容类型警告

Java 泛型类方法上的不兼容类型警告,java,generics,Java,Generics,我有一个泛型类声明如下: class AdjMatrix<R extends Vertex, C extends Vertex> { AdjMatrix<User, Item> matrix = new AdjMatrix<>(); //user and item extend vertex 以及以下方法: public R randR(){ return rId[rand.nextInt(rId.length)]; } 假设我已经实例化了AdjMatr

我有一个泛型类声明如下:

class AdjMatrix<R extends Vertex, C extends Vertex> {
AdjMatrix<User, Item> matrix = new AdjMatrix<>(); //user and item extend vertex
以及以下方法:

public R randR(){ return rId[rand.nextInt(rId.length)]; }
假设我已经实例化了AdjMatrix的一个实例,如下所示:

class AdjMatrix<R extends Vertex, C extends Vertex> {
AdjMatrix<User, Item> matrix = new AdjMatrix<>(); //user and item extend vertex
难道我不能调用用户u=matrix.randR


我得到一个不兼容的类型警告,该方法返回一个顶点

是的,你应该能够做到没有错误。当我像你所描述的那样创建一些虚拟类时,它对我很有用。您使用的是什么版本的java?应该可以。尝试重新编译/重建项目-您可能正在使用已编译类的旧副本。