我有这个编译问题:

java - 如何返回泛型的类-LMLPHP

这是有问题的课程:

package huru.entity;

import io.vertx.core.json.JsonObject;
import java.util.Date;

public class BaseEntity <T extends BaseModel> extends JsonObject {

  private T model;

  public BaseEntity(T m){
    this.model = m;
  }

  public void setUpdateInfo(String user){
    this.model.updatedBy = user;
    this.model.updatedAt = new Date();
  }

  public JsonObject toJsonObject(){
    return JsonObject.mapFrom(this.model);
  }

  public T getEntityType (){
    return this.model.getClass();  // doesn't compile
  }

}

我也尝试使用
 public T getEntityType (){
    return T;  // doesn't compile
 }

但这显然也不起作用。有人知道我如何返回该泛型的类实例吗?

我也尝试过这个:
  public Class<T> getEntityType (){
    return this.model.getClass();
  }

我得到:

java - 如何返回泛型的类-LMLPHP

然后我尝试了这个:
  public Class<? extends T> getEntityType (){
    return this.model.getClass();
  }

我有:

java - 如何返回泛型的类-LMLPHP

最佳答案

下面的代码呢?我认为这有效。

 public Class<? extends BaseModel> getEntityType (){
    return model.getClass();
 }

08-18 05:03