¿Cómo devolver la clase de un tipo genérico

user1604294:

Tengo este problema de compilación:

introducir descripción de la imagen aquí

Esta es la clase en cuestión:

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
  }

}

También he intentado usar

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

pero que claramente no funciona bien. Alguien sabe cómo puedo devolver la instancia de clase de ese tipo genérico?

También probé esto:

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

y me sale:

introducir descripción de la imagen aquí

y luego he intentado esto:

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

y yo tengo:

introducir descripción de la imagen aquí

Vinay Avasthi:

¿Qué pasa con el siguiente código. Creo que funciona.

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

Supongo que te gusta

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