Como retornar a classe de um tipo genérico

user1604294:

Eu tenho esse problema de compilação:

digite descrição da imagem aqui

Aqui é a classe em questão:

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
  }

}

Eu também tentei usar

 public T getEntityType (){
    return T;  // doesn't compile
 }

mas que claramente não quer trabalhar. Alguém sabe como posso voltar a instância da classe desse tipo genérico?

Eu também tentei isso:

  public Class<T> getEntityType (){
    return this.model.getClass();
  }

e eu recebo:

digite descrição da imagem aqui

e então eu tentei isso:

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

e eu tenho:

digite descrição da imagem aqui

Vinay Avasthi:

E sobre o código a seguir. Eu acho que ele funciona.

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

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=183994&siteId=1
Recomendado
Clasificación