1

私は Anthill (UrbanCode/IBM 製品) を使用しており、メソッドの 1 つに type のパラメーターが必要java.lang.Class<? extends SourceConfig<?>> sourceConfigTypeです。

ジェネリックに関するチュートリアルを読んだ後、クラスGitSourceConfigが のサブクラスであることがわかりましたが、このコンテキストでSourceConfigジェネリックがどのように機能するかわかりません。SourceConfig<?>何か案は?

最終的な目標は、オブジェクトを取得して/メソッドGitSourceConfigを呼び出すことです。Anthill Pro API はここにあり、クラスを見ています。getRepositoryUrlsetRepositoryUrlSourceConfig

4

2 に答える 2

0

Classジェネリックです。オブジェクトで呼び出しgetClass()た場合、String結果は型になりClass<String>ます。

この場合SourceConfig<R extends Repository>、それ自体がジェネリックであるため、ジェネリックがネストされています。

の定義を確認するとGitSourceConfig

public class GitSourceConfig extends SourceConfig<GitRepository> 

public class GitRepository extends Repository

とてもClass<GitSourceConfig>マッチしますClass<? extends SourceConfig<?>>

于 2014-07-29T17:04:42.027 に答える