我有一些静态方法。

   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);


但需要帮助将仿制药放在这里。我需要一些专家帮助来解决此问题?

最佳答案

根据方法的定义,应使用以下类型来调用它:

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


当然,这些类中的任何一个都可以用子类替换,只要它们与通用类型范围匹配即可。

10-06 13:19