Задать вопрос
@Den4_x

Почему не работает интерфейс Comparable?

package WorkSpace;
import java.io.*;
import java.util.Scanner;
import java.util.ArrayList;
import java.lang.Math;
import java.util.*;


public class WorkSpace { 
    public static void main(String args[]){ 
        TreeSet<Sticks> box1 = new TreeSet<Sticks>();
        
        Sticks obj1 = new Sticks(19);
        Sticks obj2 = new Sticks(9);
        Sticks obj3 = new Sticks(53);
        
        box1.add(obj1);
        box1.add(obj2);
        box1.add(obj3);
        
        for (Sticks i: box1) {
            System.out.println(i);
        }
        
        
    } 
}

class Sticks implements Comparable <Sticks>{
    int size;    
    
    
     public Sticks(int size){
        this.size=size;
    }
    
    
    public int compareTo(Sticks sticks_object){
        if(this.size==sticks_object.size){
            return 0;
        }else if (this.size<sticks_object.size){
            return -1;
        }else {
            return 1;
        }
    }
}

interface Comparable<T>{
    public int compareTo(T o);
}
  • Вопрос задан
  • 173 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
уберите свой личный интерфейс
// interface Comparable<T> {
// public int compareTo(T o);/
// }


вы
же хотите имплементировать java.lang.Comparable.compare

и добавьте @override аннотацию в метод
@Override
	public int compareTo(Sticks sticks_object) {


чтобы она была использована
example.Sticks@15db9742
example.Sticks@6d06d69c
example.Sticks@7852e922
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы