如果我有一个适合泛型的类,有没有办法包装这种丑陋的东西?

所以这

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/

10-13 00:07