我有两个相关的问题:
问题1的代码:
1 private List<OfferEnriched> sortedByDate(List<OfferEnriched> offers) {
2 Collections.sort(offers, new Comparator<OfferEnriched>() {
3 @Override
4 public int compare(OfferEnriched offer1, OfferEnriched offer2) {
5 return offer1.getExDate().compareTo(offer2.getExDate());
6 }
7 });
8 return offers;
9 }
问题1:错误“类型参数xxx.ecom.process.profile.offers.OfferEnriched不在其范围内”指向上面的第1行和第2行。有什么问题?
Quetiosn 2:同样在调用方法时我得到错误:“无法访问xxx.ecom.process.profile.offers.Offer。类文件,找不到xxx.ecom.process.profile.offers.Offer”。为什么编译器在xxx.ecom.process.profile.offers包中寻找Offer?请参阅下面的代码。
问题2的代码:
List<OfferEnriched> offers =
sortedByDate(getOffersHelper().enrichAllOffers(userContext,
getOffersAdapter().getOffers(market, emailAddr), channelsWeCareAbout));
上面的语句指出了错误。 OffersHelper类在xxx.ecom.process.profile.helper包中,其enrichAllOffers方法具有以下签名:
public List<OfferEnriched> enrichAllOffers(UserContext userContext, List<Offer> offers,
Collection<ChannelType> channelsWeCareAbout)
Offer在xxx.profile.common.offers包中
任何帮助将不胜感激。 拉吉