我创建了自己的日期类java,并使用toString方法输出我自己的日期格式 .
这是Date类
public class Date {
private int day;
private int month;
private int year;
public Date() {
this.day = 0;
this.month = 0;
this.year = 0;
}
public Date(int day, int month, int year) {
this.day = day;
this.month = month;
this.year = year;
}
public Date(Date d) {
this.day = d.day;
this.month = d.month;
this.year = d.year;
}
@Override
public String toString() {
return "" +this.day+"."+this.month+"."+this.year;
}
}
现在我必须在Main类中使用此类,并按升序对日期进行排序 . 一切似乎都很好,但netbeans给出错误说“解析不能应用于Date”但我已经在我的Date类中使用了toString方法 .
import java.text.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
ArrayList date = new ArrayList();
Date date1 = new Date(28,7,2017);
Date date2 = new Date(1,10,2017);
Date date3 = new Date(15,9,2018);
Date date4 = new Date(25,11,2018);
Date date5 = new Date(5,6,2014);
date.add(date1);
date.add(date2);
date.add(date3);
date.add(date4);
date.add(date5);
sortDates(date);
for (Date SortedDate : date) {
System.out.println(SortedDate);
}
}
private static void sortDates(ArrayList date) {
Collections.sort(date, new Comparator() {
DateFormat f = new SimpleDateFormat("dd/MM/yyyy");
@Override
public int compare(Date o1, Date o2) {
try {
return f.parse(o1).compareTo(f.parse(o2));
} catch (ParseException e) {
throw new IllegalArgumentException(e);
}
}
});
}
}