我已经遇到了几天的麻烦,无法超越它。我有一个存储的阵列列表。
public class Application {
Time startTime = new Time(hour,minute);
Time endTime = new Time((startTime.getHour()), (startTime.getMinute() + duration));
Event e1 = new Event("Lecture", title, startTime, endTime);
我想根据我的终结时间对事件进行排序,我遇到的问题是,末日是基于开始时间的开始时间,该开始时间使用了我的Time
课程中的小时和分钟。当我尝试使用compareTo
时,我感到困惑。我将其放在我的Time
课程中,但随后意识到它必须在我的Event
类中进行比较。我将如何使用CompareTo比较终点,以及如何输出排序。当我将CompareTo放在活动中时,我得到了
The method sort(List<T>) in the type Collections is not applicable for the arguments (ArrayList<Event>)
Collections.sort(events);
public Event(String type, String title, Time startTime, Time endTime) {
this.type = type;
this.title = title;
this.startTime = startTime;
this.endTime = endTime;
}
private int minute;
public Time(int hour, int minute) {
this.minute = hour * 60 + minute;
}
也可以extend
类,或者我必须实现它以使用compareTo
我将如何使用CompareTo比较终点,
Event
类的compareTo
方法将在您的Time
类上调用compareTo
方法,并将结果用作确定事件顺序的一部分。
以及如何输出排序。
一种方法是使用循环和print
或println
调用。
当我将CompareTo放入我的活动中时:
"The method sort(List<T>) in the type Collections is not applicable for the arguments (ArrayList<Event>)"
将events
的类型声明为List<Event>
。
顺便说一句,将compareTo
放在事件中并没有引起这一点。那是另一个变化/另一个错误引起的。
我还可以扩展一个类,还是我必须实现它才能使用compareTo
任何需要可比的类都需要"实现"以其自己的类型为类型参数的Comparable
接口;例如
public class Event implements Comparable<Event> {
然后需要提供compareTo
方法的实现。