首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在API调用中使用多个通配符

如何在API调用中使用多个通配符
EN

Stack Overflow用户
提问于 2014-07-30 00:49:58
回答 2查看 98关注 0票数 1

我正在使用Anthill (一个UrbanCode/IBM产品),其中一个方法需要一个java.lang.Class<? extends SourceConfig<?>> sourceConfigType类型的参数。

在阅读了tutorial on generics之后,我发现GitSourceConfig类是SourceConfig的子类,但是我不理解SourceConfig<?>的泛型在这个上下文中是如何工作的。有什么想法吗?

最终目标是获得一个GitSourceConfig对象并调用getRepositoryUrl/setRepositoryUrl方法。Anthill Pro API是here,我正在研究SourceConfig类。

EN

回答 2

Stack Overflow用户

发布于 2014-07-30 00:56:58

示例java.lang.Class<? extends SourceConfig<?>> sourceConfigType中的泛型bounded wildcard类型指定sourceConfigType可由的上限类型绑定的任何SourceConfig类。

在本教程中,

List<? extends Shape>就是有界通配符的一个例子。那个?表示未知类型,就像我们之前看到的通配符一样。然而,在本例中,我们知道这个未知类型实际上是Shape的一个子类型。(注意:它可以是Shape本身,也可以是某个子类;它不需要直接扩展Shape。)

Note SourceConfig本身也是通用的,在这里它使用了一个常规的无界限通配符。

票数 0
EN

Stack Overflow用户

发布于 2014-07-30 01:04:42

Class是泛型的--如果在String对象上调用getClass(),结果将是Class<String>类型。

在本例中,SourceConfig<R extends Repository>本身是一个泛型,所以您有嵌套的泛型。

如果您选中GitSourceConfig的定义

代码语言:javascript
复制
public class GitSourceConfig extends SourceConfig<GitRepository> 

代码语言:javascript
复制
public class GitRepository extends Repository

因此Class<GitSourceConfig>Class<? extends SourceConfig<?>>匹配

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25020765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档