Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 包含字符串日期的排序列表_Java_Sorting_Date_Datetime - Fatal编程技术网

Java 包含字符串日期的排序列表

Java 包含字符串日期的排序列表,java,sorting,date,datetime,Java,Sorting,Date,Datetime,我想对包含字符串格式的属性日期的列表进行排序: TestObj test1 = new TestObj( ............, date:'SomeData, Friday, January 8, 2016', email:'user@mail.com'); TestObj test2 = new TestObj( ............,

我想对包含字符串格式的属性日期的列表进行排序:

 TestObj  test1 = new TestObj(
                ............,
                date:'SomeData, Friday, January 8, 2016',
                email:'user@mail.com');

 TestObj  test2 = new TestObj(
                ............,
                date:'SomeData, Friday, March 8, 2016',
                email:'user@mail.com');

list.add(test1);
list.add(test2);

我想使用日期字段对其进行排序。是否可以使用自定义比较器和SimpleDataFormat在非固定格式的日期字段上对其进行排序。Like month可以有变量字符。

您可以从JSON获取日期,但是在创建对象实例时,您应该解析字段,提取日期并将其转换为
LocalDate
,可能是在构造函数中


您可以编写一个自定义比较器,但在排序过程中,您需要对每个比较操作进行昂贵的转换

要么在TestObj中实现Comparable,要么创建自定义比较器并使用Collections。sort

我建议将日期存储为日期(如果使用Java 8,则为LocalDate),而不是字符串-排序将是直接的。@assylias我将其作为JSON响应。将该JSON对象转换为日期对象,而不是sort