private Set<String> extractOfferKeysForAbstractOffers(List<AbstractOfferDto> selectedOffers) {
Set<String> offerKeys = new HashSet<String>();
for (AbstractOfferDto offer : selectedOffers) {
offerKeys.add(offer.getOfferKey());
}
return offerKeys;
}
private Set<String> extractOfferKeysForOffers(List<OfferDto> selectedOffers) {
Set<String> offerKeys = new HashSet<String>();
for (OfferDto offer : selectedOffers) {
offerKeys.add(offer.getOfferKey());
}
return offerKeys;
}
ほぼ同じ方法を使用する代わりに、入力だけが異なります。ジェネリックを使用したいと思います。このように作成します。
private <T> Set<String> extractOfferKeysForOffers(List<T> offers) {
Set<String> offerKeys = new HashSet<String>();
for (T offer : offers) {
offerKeys.add(offer.getOfferKey());
}
return offerKeys;
}
しかし問題はそれoffer.getOfferKey()
が認識されないことです。オファーのオプションはまたはAbstractOfferDto
ですOfferDto
。
この例でジェネリックを使用するにはどうすればよいですか?