gpt4 book ai didi

java - (如何)我可以用 Java 泛型做到这一点吗?

转载 作者:搜寻专家 更新时间:2023-11-01 03:14:01 24 4
gpt4 key购买 nike

我想在 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;

最佳答案

是的,您提供的解决方案无论多么冗长,都是完成这项工作的唯一方法。您必须在参数列表中列出所有泛型类型参数,包括嵌套参数。

关于java - (如何)我可以用 Java 泛型做到这一点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3821171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com