答案:通过ScheduledExecutorService实现Java任务提醒工具,定义ReminderTask类封装任务信息,使用schedule方法按延迟时间执行提醒,主程序添加示例任务并等待触发,最后关闭线程池。

在Java中创建一个小型任务提醒工具,可以通过结合定时任务调度和简单用户交互来实现。核心可以使用ScheduledExecutorService来管理定时提醒,配合一个任务类来存储提醒内容和时间。
1. 定义任务模型
首先创建一个任务类,用于保存提醒的标题、消息和提醒时间。
public class ReminderTask {
private String title;
private String message;
private long delayInSeconds;
public ReminderTask(String title, String message, long delayInSeconds) {
this.title = title;
this.message = message;
this.delayInSeconds = delayInSeconds;
}
// getter方法
public String getTitle() { return title; }
public String getMessage() { return message; }
public long getDelayInSeconds() { return delayInSeconds; }
}
2. 使用ScheduledExecutorService执行提醒
Java的ScheduledExecutorService适合用来延迟执行任务。我们可以将每个提醒任务提交为延迟运行的任务。
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TaskReminderTool {
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
public void addReminder(ReminderTask task) {
scheduler.schedule(() -> {
System.out.println("\n? 提醒: " + task.getTitle());
System.out.println("内容: " + task.getMessage());
}, task.getDelayInSeconds(), TimeUnit.SECONDS);
}
public void shutdown() {
scheduler.shutdown();
}
}
3. 添加示例使用方式
写一个简单的主程序来测试提醒功能。
立即学习“Java免费学习笔记(深入)”;
public class Main {
public static void main(String[] args) {
TaskReminderTool reminderTool = new TaskReminderTool();
// 添加几个提醒任务
reminderTool.addReminder(new ReminderTask(
"喝水", "记得喝一杯水!", 5));
reminderTool.addReminder(new ReminderTask(
"休息", "起来活动一下身体吧!", 10));
System.out.println("已设置提醒任务,等待触发...");
// 保持程序运行一段时间以便看到提醒
try {
Thread.sleep(15000); // 等待15秒
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
reminderTool.shutdown();
}
}
运行后,会在5秒和10秒后分别打印出对应的提醒信息。
4. 可扩展建议
- 可加入图形界面(如Swing)弹出提醒窗口
- 支持从文件或控制台输入任务
- 增加重复提醒功能(使用
scheduleAtFixedRate) - 添加唯一ID管理多个任务,支持取消
基本上就这些。不复杂但容易忽略的是线程池的关闭和时间单位的转换。用好ScheduledExecutorService就能轻松实现轻量级提醒功能。










