我有這兩種功能,其基本上是相同的:功能的可變參數類型
private Order getOrder(List<Order> orders, String gcsId)
{
Predicate<Order> predicate = c -> c.getGcsId().equals(gcsId);
Order obj = orders.stream().filter(predicate).findFirst().get();
return obj;
}
private OrderLine getOrderLine(List<OrderLine> orderLines, String gcsId)
{
Predicate<OrderLine> predicate = c -> c.getGcsId().equals(gcsId);
OrderLine obj = orderLines.stream().filter(predicate).findFirst().get();
return obj;
}
唯一的區別是該第一參數的類型。我如何創建一個具有變量類型的第一個參數的函數?
編輯:這是我如何調用這些函數在同一類的另一種方法:
Order order = getOrder(orders, orderId);
OrderLine orderLine = getOrderLine(order.getOrderLines(), orderLineId);
你可以創建一個兩個類都實現的'interface',然後使用該接口作爲參數類型嗎? –
'OrderLine'和'Order'是否共享任何常見的超類或接口? – luk2302
@ luk2302不,他們現在沒有任何界面。 – neptune