package com.example.moviecli.command; import com.example.moviecli.model.Movie; import com.example.moviecli.repository.MovieRepository; import com.example.moviecli.view.ConsoleView; public class SearchCommand implements Command { private final ConsoleView view; public SearchCommand(ConsoleView view) { this.view = view; } @Override public String getName() { return "search"; } @Override public void execute(String[] args, MovieRepository repository) { if (args.length < 2) { view.printError("用法: search <关键词>"); return; } String keyword = args[1].toLowerCase(); var result = repository.getAll().stream() .filter(m -> m.getTitle().toLowerCase().contains(keyword)) .toList(); if (result.isEmpty()) { view.printInfo("没有找到包含 \"" + keyword + "\" 的记录。"); } else { result.forEach(m -> System.out.println(m.getRank() + ". " + m.getTitle() + " - " + m.getScore())); } } }