JavaSE基础
compareTo方法实际上是如何工作的? 我甚至看了API文档,但我还是不明白。 另外,如果传递给该方法的乐曲是乐曲对象的ArrayList呢 关于接口 可比性是一种可比性。如果一个类实现了一个接口,则该类需要实现在接口中声明的方法的定义实现。方法实现需要有一个匹配项 Compariable接口声明了一个方法int comparietosong。这是方法签名 因此,在代码中,必须使用相同的签名实现一个方法。据我所知,这正是你所做的 您的实现只需调用String-strings-implement-Comparable的compareTo方法,这就是为什么它可以工作的原因。Comparable的字符串实现只是按字典顺序比较两个字符串,如中所示 为什么要使用接口? 接口是在类中预定义行为的好方法。例如,Java中的列表接口包含列表的预定义行为。此接口有许多不同的实现,在特定场景中(例如ArrayList、LinkedList)具有更好的性能JavaSE基础,java,Java,compareTo方法实际上是如何工作的? 我甚至看了API文档,但我还是不明白。 另外,如果传递给该方法的乐曲是乐曲对象的ArrayList呢 关于接口 可比性是一种可比性。如果一个类实现了一个接口,则该类需要实现在接口中声明的方法的定义实现。方法实现需要有一个匹配项 Compariable接口声明了一个方法int comparietosong。这是方法签名 因此,在代码中,必须使用相同的签名实现一个方法。据我所知,这正是你所做的 您的实现只需调用String-strings-implemen
希望这有帮助:请正确格式化代码。顺便问一下,你真正想问的是什么?您发布的代码实现了compareTo方法。它说比较两首歌就等于比较它们的标题。如果传递给方法的歌曲是Song对象的ArrayList呢?这永远不会发生,编译器会禁止的。先生,很抱歉出现异常。我在这里是新手。
class Song implements Comparable<Song> {
String title;
String artist;
String rating;
String bpm;
public int compareTo(Song s) {
return title.compareTo(s.getTitle());
}
Song(String t, String a, String r, String b) {
title = t;
artist = a;
rating = r;
bpm = b;
}
public String getTitle() {
return title;
}
public String getArtist() {
return artist;
}
public String getRating() {
return rating;
}
public String getBpm() {
return bpm;
}
public String toString() {
return title;
}
}