您可以尝试将Function的泛型改为MarketCategory,并在apply方法中返回一个新的MarketCategory对象,如下所示:

List<MarketCategory> collect = categories.stream().map(new Function<MarketCategory, MarketCategory>() {
    @Override
    public MarketCategory apply(MarketCategory marketCategory) {
        MarketCategory newMarketCategory = new MarketCategory();
        newMarketCategory.setId(marketCategory.getId());
        newMarketCategory.setName(marketCategory.getName());
        newMarketCategory.setIconUrl(marketCategory.getIconUrl());
        return newMarketCategory;
    }
}).collect(Collectors.toList());

或者更简洁的方式是使用lambda表达式:

List<MarketCategory> collect = categories.stream().map(marketCategory -> {
    MarketCategory newMarketCategory = new MarketCategory();
    newMarketCategory.setId(marketCategory.getId());
    newMarketCategory.setName(marketCategory.getName());
    newMarketCategory.setIconUrl(marketCategory.getIconUrl());
    return newMarketCategory;
}).collect(Collectors.toList());

这样就可以在map操作中将每个MarketCategory对象的id、name和iconUrl属性提取出来,并返回一个新的MarketCategory对象的列表。

MarketCategoryExample categoryExample = new MarketCategoryExample; ListMarketCategory categories = categoryMapperselectByExamplecategoryExample; ListMarketCategory collect = categoriesst

原文地址: http://www.cveoy.top/t/topic/i9Ys 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录