Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用CompareTo对字母表进行排序_Java_Sorting_Oop_Compareto - Fatal编程技术网

Java 如何使用CompareTo对字母表进行排序

Java 如何使用CompareTo对字母表进行排序,java,sorting,oop,compareto,Java,Sorting,Oop,Compareto,您好,我正在制作一个简单的电影程序,这里我想用compareTo按字母顺序对我的arraylist进行排序。因此,A-Z的电影,我不太确定如何在我的比较中实现这一点。请阅读以下文档: 从文档: 根据需要按升序对指定的对象数组进行排序 其元素的自然顺序。数组中的所有元素 必须实现可比较的接口。此外,所有元素 数组必须相互可比,即e1.compareToe2必须 不为中的任何元素e1和e2抛出ClassCastException 数组 排序方法确实依赖于数组元素的可比较接口您需要将对象o键入胶片对象

您好,我正在制作一个简单的电影程序,这里我想用compareTo按字母顺序对我的arraylist进行排序。因此,A-Z的电影,我不太确定如何在我的比较中实现这一点。请阅读以下文档:

从文档:

根据需要按升序对指定的对象数组进行排序 其元素的自然顺序。数组中的所有元素 必须实现可比较的接口。此外,所有元素 数组必须相互可比,即e1.compareToe2必须 不为中的任何元素e1和e2抛出ClassCastException 数组

排序方法确实依赖于数组元素的可比较接口

您需要将对象o键入胶片对象。然后,您可以使用String的compareTo方法比较两部电影的标题

所以CompareToo的代码是这样的

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;
    }
}

可能与您不确定的内容重复?你查过表了吗?请把问题说得更具体一些。看看是否needed@AxelH我基本上想用compareTo按字母顺序对我的电影进行排序。在顶部,你已经可以看到我在使用Implements Comparables,所以你有一个可以排序的集合?你只需要能够比较两个电影实例。通常,您可以像这样简单地比较所需的变量。tittel.compareToo.tittel您将需要强制转换参数o。先找一个简短的教程试试,然后如果你仍然卡住了,我会帮助你。检查重复的问题,它将是相同的想法。
public int compareTo(Object o) {
    Film film = (Film)o;
    return this.title1.compareTo(film.title1);
}