java - 用实际类替换泛型

标签 java

如果我有一个适合泛型的类,有没有办法解决这个丑陋的问题?

所以这个

public HasOne aMethod(Class<? extends Model> clazz){

    HasOne<Customer> hasOne = injector.getInstance(Key.get(new TypeLiteral<HasOne<Customer>>() {
    }));

    return hasOne;
}

会变成这样。 (这显然无法编译)

public HasOne aMethod(Class<? extends Model> clazz){

    HasOne<clazz> hasOne = injector.getInstance(Key.get(new TypeLiteral<HasOne<clazz>>() {
    }));

    return hasOne;
}

最佳答案

为什么不

public <T extends Model> HasOne<T> aMethod(Class<T> clazz){

    HasOne<T> hasOne = injector.getInstance(Key.get(new TypeLiteral<HasOne<T>>() {
    }));

    return hasOne;
}

关于java - 用实际类替换泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205162/

相关文章:

java - 不要在枚举字段内排序

java - 为什么从 TCL WS 客户端调用 java webservice 时返回额外的 header 信息

java - Jenkins-如何使用 java 以编程方式创建 Jenkins 作业、使用 maven(build) 和 git(SCM) 构建作业

java - 是否可以设置 Jackson 以便将未命名的包装器对象排除到 API 返回的 JSON 数组中?

java - 我正在制作动画的这个正方形在它后面留下了痕迹,任何人都可以找出原因吗?

java - Spring ScriptUtils - PostgreSQL 中未终止的美元报价

java openmaple 与 eclipse 的连接

java - 如何在jList中显示音频信息

java - Spring Data MongoDB 检查字段是否存在然后查询

java - Java中有没有办法将整数转换为其序号?