概要
- dagger2入門 - basic(@Module & @Provides)にモジュールの使い方を紹介した
- 今回は、モジュールから提供するインスタンスの引数が違い場合の対応方法を紹介する
@Namedを利用する
コード
結果
Red
Blue
Process finished with exit code 0
説明
- @Injectで引数違いインスタンスを区別できないが、@Namedを利用して同じクラスのインスタンスを分けれる
- しかし、@Named("SelfType_red")に「SelfType_red」の定義が使いにくい
@Qualifier
コード
結果
QualifierRed
QualifierBlue
Process finished with exit code 0
説明
- @Qualifierで新しいannotationを定義して文字列(SelfType_red)より使いやすい