我希望在Java中实现以下功能,但不知道该搜索什么:
但是这将需要我像这样声明实例,这似乎很啰嗦。
public interface Subject<T> {
}
public interface EMailAddress extends Subject<String> {
}
public interface Validator<T extends Subject<V>> {
Set<InputErrors> validate(final V thing); // this does not compile
}
我基本上希望Validator#validate方法的参数类型与Subject的泛型类型相同。
我可以这样写:
public interface Validator<A,B extends Subject<A>> {
Set<InputErrors> validate(final A thing);
}
但是这将需要我像这样声明实例,这似乎很啰嗦。
private Validator<String,EMailAddress> validator;