Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
JavaSE基础_Java - Fatal编程技术网

JavaSE基础

JavaSE基础,java,Java,compareTo方法实际上是如何工作的? 我甚至看了API文档,但我还是不明白。 另外,如果传递给该方法的乐曲是乐曲对象的ArrayList呢 关于接口 可比性是一种可比性。如果一个类实现了一个接口,则该类需要实现在接口中声明的方法的定义实现。方法实现需要有一个匹配项 Compariable接口声明了一个方法int comparietosong。这是方法签名 因此,在代码中,必须使用相同的签名实现一个方法。据我所知,这正是你所做的 您的实现只需调用String-strings-implemen

compareTo方法实际上是如何工作的? 我甚至看了API文档,但我还是不明白。 另外,如果传递给该方法的乐曲是乐曲对象的ArrayList呢

关于接口 可比性是一种可比性。如果一个类实现了一个接口,则该类需要实现在接口中声明的方法的定义实现。方法实现需要有一个匹配项

Compariable接口声明了一个方法int comparietosong。这是方法签名

因此,在代码中,必须使用相同的签名实现一个方法。据我所知,这正是你所做的

您的实现只需调用String-strings-implement-Comparable的compareTo方法,这就是为什么它可以工作的原因。Comparable的字符串实现只是按字典顺序比较两个字符串,如中所示

为什么要使用接口? 接口是在类中预定义行为的好方法。例如,Java中的列表接口包含列表的预定义行为。此接口有许多不同的实现,在特定场景中(例如ArrayList、LinkedList)具有更好的性能


希望这有帮助:

请正确格式化代码。顺便问一下,你真正想问的是什么?您发布的代码实现了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;
    }
}