无法理解为何无法解决此方法

时间:2019-01-15 16:45:17

标签: java spring

我正在学习《 Spring in Action》一书中的Spring,我从书中获得了可以正常使用的代码:

@Slf4j
@Controller
@RequestMapping("/design")
public class DesignTacoController {
    @GetMapping
    public String showDesignForm(Model model) {
        List<Ingredient> ingredients = Arrays.asList(
                new Ingredient("FLTO", "Flour Tortilla", Type.WRAP),
                new Ingredient("COTO", "Corn Tortilla", Type.WRAP),
                new Ingredient("GRBF", "Ground Beef", Type.PROTEIN),
        );

        Type[] types = Ingredient.Type.values();
        for (Type type : types) {
            model.addAttribute(type.toString().toLowerCase(),
                    filterByType(ingredients, type));
        }

        model.addAttribute("design", new Taco());
        return "design";
    }
} 

但是当我在IDEA中键入它时,它说方法filterByType无法解析,但是书中没有这样的问题,也没有对此问题的任何评论。我是春季新手,尝试过很多Google,但找不到有关此问题的任何信息及其来源。您能帮我解决这个问题吗,一个不能因此而继续前进。 screenshot from IDEA

1 个答案:

答案 0 :(得分:3)

这本书似乎包含一个错误,没有列出filterByType()方法。这不是Spring方法。在这里,您去了:

private List<Ingredient> filterByType(List<Ingredient> ingredients, Type type) {

    return ingredients.stream()
            .filter(x -> x.getType().equals(type))
            .collect(Collectors.toList());

}

来源:Manning Publications