私は次のクラスを持っています:
class MySelectBox {
public MySelectBox(Provider<Map<? extends Object, ? extends Object>> providerArrayIdToLabel) {
...
}
}
そして、私はこのクラスを使用するコードでこれを渡そうとしています:
new MySelectBox(new Provider<Map<Long, String>>{
... my implementation of Provider ...
});
コンパイラは次のエラーを出します。
The constructor MySelectBox(new Provider<Map<Long,String>>(){}) is undefined
なんで?メソッドが未定義なのはなぜですか?コンストラクターの署名を受け入れられるようにするには、何を変更する必要がありますかProvider<Map<Long, String>>
注:プロバイダーインターフェイスは次のとおりです。
public interface Provider<T> extends javax.inject.Provider<T> {
T get();
}