1 回答

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
在運(yùn)行時(shí),由于泛型類(lèi)型擦除,只有對(duì)象。因此,人們可能需要一門(mén)課程。
public abstract class AbstractUseCase<T> implements UseCase<T> {
protected final Class<T> type;
protected AbstractUseCase(Class<T> type) {
this.type = type;
}
@Override
public User execute(Request request) {
// create newUser based on request here
return newUser;
}
}
public class DefaultCreateUser extends AbstractUseCase<User> {
public DefaultCreateUser() {
super(User.class);
}
private Request request = new CreateUserRequest();
@Override
public User execute(Request request) {
return new User();
// Alternative in the base class:
T newUser = type.getConstructor().newInstance();
return newUser;
// Alternative in the base class:
Object newUser = ...;
return type.cast(newUser);
}
}
添加回答
舉報(bào)