2015-02-16 1 views
0

Everytime я пытаюсь добавить football в набор, я получаю сообщение об ошибке говорящееКак добавить элементы в набор, установив ошибку приведения класса?

Футбол не может быть приведен к java.lang.Comparable.

Что мне делать, чтобы исправить это? Кстати, у меня есть класс football с конструктором и методы.

import java.util.*; 
import java.io.*; 
import java.util.Scanner; 
import java.util.Set; 
import java.util.TreeSet; 
public class Schedule 
{ 
    public static void main (String args[])throws IOException 
    { 
    Scanner sc = new Scanner(new File("Footballteams.txt")); 
    Set<Football> teams = new TreeSet<Football>(); 

    for(int i = 0; i < 128; i++) 
    { 
     String team = sc.nextLine(); 
     int points = 0; 
     String[] a = team.split("\\|", 9); 
     String name = a[0]; 
     int wins = Integer.parseInt(a[1]); 
     points += wins; 
     int finalRecord14 = Integer.parseInt(a[2]); 
     int finalRecord13 = Integer.parseInt(a[3]); 
     int finalRecord12 = Integer.parseInt(a[4]); 
     int finalRecord11 = Integer.parseInt(a[5]); 
     int bowlVictories = Integer.parseInt(a[6]); 
     points = points + (bowlVictories * 10); 
     int bowlLosses = Integer.parseInt(a[7]); 
     points = points - (bowlLosses * 5); 
     int ConferenceChamp = Integer.parseInt(a[8]); 
     points = points + (ConferenceChamp * 10); 
     Football x = new Football(name, wins, finalRecord14, finalRecord13, finalRecord12, finalRecord11, bowlVictories, bowlLosses, ConferenceChamp, points); 
     teams.add(x);   
    } 
    } 
} 
+1

реализовать ли класс '' Football' Сопоставимый интерфейс? – BatScream

+0

'TreeSet' может хранить только элементы, которые являются' Comparable'. – immibis

ответ

0

элементы set являются distinct поэтому они должны быть в состоянии по сравнению с Афоризм, реализовать интерфейс Сопоставимые в футболе класса и переопределить метод CompareTo

public class Football implements Comparable{ 
//code 
    @Override 
    public int compareTo(Object o) { 
     //here you can compare tow football objects and retern whatever needed; 
    } 
//code 

}