Как поставить гнерику при вызове этого метода? - PullRequest
1 голос
/ 11 июля 2019

У меня есть какой-то статический метод.

   public static <D extends BaseDoseDetail<I>, I extends BaseDoseInstance, P extends BasePrescribedPrescription<D, I>, M extends BaseMedicationTreatment<D, I, P>> List<P> getUnSignedPrescriptions(final M medicationTreatment)
  {

    return medicationTreatment.getPrescriptions().stream()
      .filter(input -> MedToolkit.INSTANCE.isUnsigned(input.getSigningStatus())).collect(Collectors.toList());
  }

Мне нужно позвонить, вот так.

 List unSignedPrescriptions = BaseDosageInfoUtil.getUnSignedPrescriptions(treatments);

но нужна помощь, чтобы разместить дженерики здесь. Мне нужна помощь специалиста, чтобы решить эту проблему?

1 Ответ

1 голос
/ 11 июля 2019

На основании определения вашего метода вы должны вызывать его с такими типами, как:

BaseMedicationTreatment<BaseDoseDetail<BaseDoseInstance>, BaseDoseInstance, BasePrescribedPrescription<BaseDoseDetail<BaseDoseInstance>,BaseDoseInstance>> treatments = ...;
List<BasePrescribedPrescription<BaseDoseDetail<BaseDoseInstance>,BaseDoseInstance>> unSignedPrescriptions = BaseDosageInfoUtil.getUnSignedPrescriptions(treatments);

Конечно, любой из этих классов может быть заменен на подклассы, если они соответствуютграницы общего типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...