Условия вроде соблюдены.
На то что ругается валидатор проверяю руками и эти пункты явно реализованы(см. в коде в комментариях)
Подскажите пожалуйста что я не верно сверяю?
package com.javarush.task.task17.task1714;
/*
Comparable
*/
public class Beach implements Comparable<Beach>{ // 1) Убедись, что класс Beach реализует интерфейс Comparable. --Разве не реализует????
private String name; //название
private float distance; //расстояние
private int quality; //качество
public Beach(String name, float distance, int quality) {
this.name = name;
this.distance = distance;
this.quality = quality;
}
public synchronized String getName() {
return name;
}
public synchronized void setName(String name) {
this.name = name;
}
public synchronized float getDistance() {
return distance;
}
public synchronized void setDistance(float distance) {
this.distance = distance;
}
public synchronized int getQuality() {
return quality;
}
public synchronized void setQuality(int quality) {
this.quality = quality;
}
public synchronized static void main(String[] args) {
// 2)Убедись, что для разных объектов возвращаются действительно разные значения compareTo.
// Beach b1 = new Beach("B1",102,3);
// Beach b2 = new Beach("B2",59,5);
//
// System.out.println(b1.compareTo(b2));
// System.out.println(b2.compareTo(b1));
//
// System.out.println(b1.compareTo(b2) == -b2.compareTo(b1));
}
@Override
public synchronized int compareTo(Beach beach) {
int res = (int) (this.getQuality() + this.getDistance()) - (int) (beach.getQuality() +beach.getDistance());
return res;
}
}
interface Comparable<Beach>{
int compareTo(Beach beach);
}