我有一些静态方法。
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);
当然,这些类中的任何一个都可以用子类替换,只要它们与通用类型范围匹配即可。