java comparator内部类_java - Java Comparator使用.reverseOrder()但内部类 - 堆栈内存溢出...

我正在创建一个简单的程序来了解Java Comparator类。 我已经按顺序对一个Arraylist了排序,但现在我想按降序对列表进行排序,但是我在调​​用.reverseOrder()方法时遇到问题,因为我使用了一个实现Comparator的内部类(歌曲是一首歌)容纳吸气剂和制定者方法的类)。

这是我的SongSort课程,其中包含分类过程等。

import java.util.*;

import java.io.*;

public class SongSort

{

ArrayList songList = new ArrayList();

public void main(String[] args)

{

new SongSort().go();

}

class ArtistCompare implements Comparator

{

public int compare(Song one, Song two)

{

return one.getRating().compareTo(two.getRating());

}

}

public void go()

{

getSongs();

System.out.println(songList);

//Collections.sort(songList);

System.out.println(songList);

ArtistCompare artistCompare = new ArtistCompare();

Collections.sort(songList, artistCompare);

System.out.println(songList);

}

public void getSongs()

{

try{

File file = new File("SongListMore.txt");

BufferedReader reader = new BufferedReader(new FileReader(file));

String line = null;

while((line = reader.readLine()) != null)

{

addSong(line);

}

}

catch(Exception ex)

{

ex.printStackTrace();

}

}

public void addSong(String lineToParse)

{

String [] tokens = lineToParse.split("/");

Song nextSong = new Song(tokens[0], tokens[1], tokens[2], tokens[3]);

songList.add(nextSong);

}

}

这是我简单的Song课;

public class Song //implements Comparable

{

private String title;

private String artist;

private String rating;

private String bpm;

public 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 : " + title + "," + " Artist : " + artist + " Rating : " + rating);

}

}

任何人都可以帮我弄清楚我将在SongSort类中调用reverseOrder()方法,因为它不会编译?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值