Почему Collections.sort () не работает в Eclipse - PullRequest
0 голосов
/ 26 мая 2020

public interface Comparable <T>{ public int CompareTo (T other); }

public class CalendarDate implements Comparable<CalendarDate>{
private int month;
private int day;

public CalendarDate( int month, int day) {
    this.month = month;
    this.day = day;
}

public int CompareTo(CalendarDate other) {
    if (month != other.month) {
        return month - other.month;
    }
    else {
        return day - other.day;
    }
}

public int getMonth(){
    return month;
}
public int getDay() {
    return day;
}
public String toString() {
    return month + "/" + day;
}

}

import java.util.*;
public class CalendarDateTest {
    public static void main (String []args) {
        ArrayList <CalendarDate> dates = new ArrayList<CalendarDate>();
        dates.add(new CalendarDate(2,22));
        dates.add(new CalendarDate(10,30));
        dates.add(new CalendarDate(4, 13));
        dates.add(new CalendarDate(3,16));
        dates.add(new CalendarDate(4,28));
        System.out.println("birthdays = " + dates);
        Collections.sort(dates);
        System.out.println("birthdays = " + dates);

    }
}

Я использовал точный пример из своего учебника, но Collections.sort () как-то не работает, пожалуйста, помогите . В нем говорится:

Исключение в потоке «main» java .lang.Error: Неразрешенная проблема компиляции: метод sort (List) в типе Collections не применяется для аргументов (ArrayList)

at CalendarDateTest.main(CalendarDateTest.java:11)

1 Ответ

0 голосов
/ 26 мая 2020

Работает в моей среде, результат ниже. Я использую JDK8, единственная проблема в вашем коде вставки - функция CompareTo должна быть compareTo, C должен быть в нижнем регистре. Не определяйте свой собственный интерфейс Comparable.

дни рождения = [2/22, 10/30, 4/13, 3/16, 4/28] дни рождения = [2/22, 3/16, 4 / 13, 4/28, 10/30]

И ваш вопрос такой же, как этот

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...