инжектор.Получение экземпляра универсального типа в Guice без интерфейса

#java #generics #guice #inject

#java #дженерики #guice #внедрить

Вопрос:

Я хотел бы иметь возможность получать объекты на основе универсального типа с помощью Guice.

 Class Sample<T>{
 private T value;
}

Class Type1 {
}

Class Type2 {
}

 Simple<Type1> simpleValue1 = injector.getInstance(?);
 Simple<Type2> simpleValue2 = injector.getInstance(?);
  

Не могли бы вы подсказать мне, что я должен передать в «getInstance»?

Примечание: класс Type1 и класс Type2 импортируются из других jar, поэтому невозможно написать общий интерфейс.

Комментарии:

1. Попробуйте Key.get(new TypeLiteral<Sample<Type1>>() {}) .

Ответ №1:

 As @Louis Wasserman mentioned Below code working for me.Thanks @Louis Wasserman.

Sample<Type1> repo1 = injector.getInstance(new Key<Sample<Type1>>() {});
Sample<Type2> repo2 = injector.getInstance(new Key<Sample<Type2>>() {});