Java - 如何将 ArrayList 输入拆分为 Date 和 String 然后进行比较?

Java - How to split an ArrayList input into Date and String and then compare?

我搜索了多个帖子,但找不到满足我需要的内容。

** 目标**

我需要以日期形式获取用户输入,然后是字符串描述,然后将其存储在 Arraylist 中。 即 2021 年 11 月 10 日,打扫我的房间
我希望我的日期采用 D MMM YYYY 格式

一旦将其存储在数组列表中,我需要能够在任务数组列表中搜索 当前日期
如果我的数组列表包含 2021 年 11 月 11 日的任务并且当前 date/local 机器日期是 2021 年 11 月 11 日,我需要打印今天的任务,否则打印出当前日期不存在任何任务。

这是我迄今为止尝试过的片段

public class TestClass {
    
    public static void main(String[]args){
 
   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));         
      try{
          System.out.println("Enter : ");  
   // sample string   
        String str = br.readLine();              
        List<String> list = Arrays.asList(str.split(","));
        System.out.println("--------------");
        System.out.println(list);
      }
    catch(IOException e){
        System.out.println(e);
    }
      
}
  
}

这是一个输出

Enter : 
10 jan 2020, clean room
--------------
[10 jan 2020,  clean room]

我不确定下一步该怎么做,在此先感谢。

希望对您有所帮助:

    public class Main {

    public static void main(String[] args) {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));         
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("d MMM yyyy");  
        List<Task> tasks=new ArrayList<Task>();       
        while (true) {
           try{
               System.out.println("Enter : ");  
               String str = br.readLine();
               Task task= new Task(str.split(",")[0],str.split(",")[1]);
               tasks.add(task);
               System.out.println("--------------");
               System.out.println(task.toString());
               System.out.println("--------------");
               System.out.println("Tasks for today");
               LocalDateTime now = LocalDateTime.now();  
               String currentDateStr=dtf.format(now);
               System.out.println(getTasksByDate(tasks,currentDateStr));
            }
            catch(IOException e){
                System.out.println("Enter a valid input");
            }   
        }
         
 }
 public static List<Task> getTasksByDate(List<Task> tasks,String date ){
     List<Task> res=new ArrayList<Task>(); 
     for(int i=0;i<tasks.size();i++) {
         if(tasks.get(i).getDate().equals(date)) {
             res.add(tasks.get(i));
         }
     }
     return res;
 }
}
//Task.java
public class Task {
    private String date;
    private String subject;
    public Task(String date,String subject) {
        this.date=date;
        this.subject=subject;
    }
    public String getSubject() {
        return this.subject;
    }
    public String getDate() {
        return this.date;
    }
    public String toString() {
        return this.date + ":" +this.subject ;
    }
}