JavaList 是一个轻量级命令行待办工具,支持增删改查、模糊搜索与JSON持久化;采用面向对象设计,含Task模型、TodoService业务层和CliRunner表现层,适合Java初学者实战练习。

JavaList 是一个基于 Java 开发的轻量级命令行待办事项(To-Do List)工具,无需数据库、不依赖 GUI,纯终端交互,适合练手、教学或日常快速记录任务。
核心功能与使用方式
支持添加、查看、标记完成、删除、搜索和持久化保存任务。所有数据默认存为本地 todo.json 文件,启动时自动加载,退出时自动保存。
- 运行:
java -jar JavaList.jar(需先编译或下载可执行 jar) - 交互式提示:每步有清晰指令说明,输入数字或关键词即可操作
- 支持模糊搜索,如输入 “bug” 可列出含该词的所有未完成任务
技术亮点与学习价值
项目采用面向对象设计,结构清晰,涵盖 Java 基础到进阶的多个实践点:
- JSON 数据序列化:使用 Google Gson 实现任务对象与文件读写
- 异常健壮性:对空输入、非法序号、文件读写失败等均有友好提示
- 命令行参数支持:可选指定数据文件路径,如
java -jar JavaList.jar --data mylist.json - 无外部依赖:仅引入 Gson,打包后单 jar 即可运行
适合哪些人上手
特别适合作为 Java 初学者的第二个实战项目(继 Hello World、学生管理系统之后):
立即学习“Java免费学习笔记(深入)”;
- 刚学完集合、IO、异常、JSON 解析的同学,能立刻整合应用
- 想理解 MVC 简化版分层:Task(模型)、TodoService(业务)、CliRunner(表现)职责分明
- 教师可用于布置“增删改查 + 文件持久化”小作业,代码量适中(约 800 行),易讲评易扩展
扩展建议(进阶可玩)
项目预留了良好扩展接口,可按兴趣添加:
- 按优先级/截止日期排序显示(补充 Priority 和 dueDate 字段)
- 支持导出为 CSV 或 Markdown 格式
- 增加简单用户系统(多清单切换,如 work / personal)
- 接入 SQLite 替代 JSON 文件,体验轻量数据库集成










