sinat_25234961 2015-09-25 12:42 采纳率: 100%
浏览 1556

comparable问题求教?

先上代码
import java.util.*;
import java.io.*;

public class Jukebox3
{
** ArrayList songList = new ArrayList();**

public static void main(String[] args) {
    new Jukebox3().go();
}

public void go() {
    getSongs();
    System.out.println(songList);
    **Collections.sort(songList);**
    System.out.println(songList);
}

void getSongs() {
    try {
        String path="e:\\SongList.txt"; 
       File file = new File(path);
        BufferedReader reader = new BufferedReader(new FileReader(file));
        String line = null;
        while ((line = reader.readLine()) != null) {
            addSong(line);
        }
    } catch (Exception ex) { ex.printStackTrace(); }
}

void addSong(String lineToParse) {
    String[]tokens = lineToParse.split("/");
    Song nextSong=new Song(tokens[0],tokens[1],tokens[2],tokens[3]);
    songList.add(nextSong);
}

}

class Song implements ComparableTo{
String title;
String artist;
String rating;
String bpm;

Song(String t,String a,String r,String b){
    title=t;
    artist=a;
    rating=r;
    bpm=b;
}

** public int compareTo(Song s){
return title.compareTo(s.getTitle());
}**

public String getTitle(){
    return title;
}

public String getRating(){
    return rating;
}
public String getArtist(){
    return artist;
}
public String getBpm(){
    return bpm;
}

public String toString(){
    return title;
}

}

java照着例子做的,但是编译还是报错,提示:sort不适用,comparable不适用的2个错误,我觉得会出问题的几行加粗了。看了网上其他人的comparable 的例子,自己找不出问题所在。

求大神解答。谢谢啦!

  • 写回答

2条回答 默认 最新

  • 另一花生 2015-09-25 15:29
    关注

    http://www.cnblogs.com/gnuhpc/archive/2012/12/17/2822251.html

    你是想比较歌曲的title,然后输出???,sort 比较的类型应该不对,你看看例子

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?