Java编译器错误"类型参数不在其范围内#34;与泛型

时间:2013-09-02 06:03:44

标签: java generics

我有两个相关的问题:

问题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包中

任何帮助将不胜感激。 拉吉

0 个答案:

没有答案