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中实现这个
答案 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接口