如何使用CompareTo排序字母表

时间:2018-02-20 11:18:27

标签: java sorting oop compareto

package no.hiof.suzdarbi.oblig4;

import java.time.LocalDate;
import java.util.ArrayList;

public class Film extends Produksjon implements Comparable{

    public Film(String tittel, String beskrivelse, double spilleTid, LocalDate utgivelsesDatoo, Person regissor){
        super(tittel,beskrivelse,spilleTid,utgivelsesDatoo,regissor);
        FilmListe.add(this);
    }


    public static ArrayList<Film> FilmListe = new ArrayList<Film>();
    @Override
    public String toString() {
        return "Film tittel: " + tittel + '\n' +
               "Beskrivelse av filmen: " + beskrivelse + '\n' +
               "Spilletid: " + spilleTid + " minutter" + '\n' +
               "Utgivelsesdato: " + utgivelsesDatoo + '\n' +
               "Regissør: " + regissor.hentNavn() + '\n';
    }    

    @Override
    public int compareTo(Object o) {
        return 0;
    }
}

你好,我正在制作一个简单的电影节目,在这里我想用compareTo按字母顺序对我的arraylist进行排序。所以来自A-Z的电影,我不太确定如何在我的compareTo中实现这个

2 个答案:

答案 0 :(得分:1)

您需要将sh类型转换为object o个对象。然后,您可以使用Film&lt; compareTo方法比较两部电影的标题。

所以String代码就像这样

compareTo(Object o)

答案 1 :(得分:0)

请阅读Arrays.sort(Object[])的文档:

来自docs:

  

按照升序对指定的对象数组进行排序   它的元素的自然顺序。数组中的所有元素   必须实现Comparable接口。此外,所有元素   数组必须是相互可比的(即e1.compareTo(e2)必须   不为任何元素e1和e2抛出ClassCastException   数组)。

sort方法确实依赖于数组元素的Comparable接口