繁体   English   中英

有界类型作为方法参数?

[英]Bounded type as method parameter?

我正在尝试在抽象方法上强制执行特定的子类类型,如下所示:

public abstract class Searcher {    
  public abstract SearchResult search(<T extends SearchInput> searchInput);
}

这是为了确保 Searcher 的子类必须扩展 SearchInput 的相应子类。 我知道我可以为方法的返回类型使用有界类型,但我似乎无法让它作为方法参数工作。 这在 Java 中是否可行?

查看有关通用方法Java 文档

泛型方法的语法包括类型参数列表,位于尖括号内,出现在方法的返回类型之前。

你需要:

public abstract class Searcher {
    public abstract <T extends SearchInput> SearchResult search(T searchInput);
}

重点是,泛型类型声明必须发生在签名部分之前。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM