如果我有一个适合通用的类,有没有办法把这个丑陋包裹起来?
所以这个
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;
}
答案 0 :(得分:4)
为什么不
public <T extends Model> HasOne<T> aMethod(Class<T> clazz){
HasOne<T> hasOne = injector.getInstance(Key.get(new TypeLiteral<HasOne<T>>() {
}));
return hasOne;
}
答案 1 :(得分:0)
public <T extends Model> HasOne<T> aMethod(Class<T> clazz){
HasOne<T> hasOne = injector.getInstance(Key.get(new TypeLiteral<HasOne<T>>() {
}));
return hasOne;
}
HasOne<Customer> customer = aMethod(Customer.class);