我正在创建一个简单的程序来了解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()方法,因为它不会编译?

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

  1. Tiled有java版本吗_java - TMX Tiled Andengine Android-致命意外- - 堆栈内存溢出

    刚开始使用tmx平铺的地图文件作为2d平台游戏的地图. 这是我到目前为止的代码. private void loadLevel() { // TODO Auto-generated method st ...

  2. java ipv6校验_java - IPv6地址验证和规范化[关闭] - 堆栈内存溢出

    我只是通过adhoc方法来检查IPV4和IPV6两种寻址方案的有效性:这是我的代码......我的代码总是欢迎更正. 如果我的解决方案有误,请原谅我. #include #include #inclu ...

  3. java从端口接收数据_java - Java中通过串行端口接收数据的效率更高 - 堆栈内存溢出...

    这是代码片段 我在这里启动一个动作监听器 try { port_seleted.addEventListener(this); } catch (TooManyListenersException e ...

  4. java算球体积的代码_java - 球体体积法不起作用 - 堆栈内存溢出

    为了使球体体积法起作用,我尝试了许多不同的计算方法. 我的Sphere类是从Circle扩展的,以从圆中获取面积,并实现了Shape3D接口,该接口允许我使用体积方法. 但是,我已经为我的方法尝试了所 ...

  5. java获取excel文件第一行_java - 在Java中读取Excel文件,但第一行除外 - 堆栈内存溢出...

    我正在尝试从使用xlsx文件的JasperReport模板自动创建报告,我用来从excel文件读取的方法是这样的: String[] columnNames = new String[]{" ...

  6. java 获取permgen_java - Java:如何检查当前的Perm / PermGen大小? - 堆栈内存溢出

    您可以在这里使用jmap ,它是JVM堆转储工具. 例如: jmap -heap 5900 它将打印: Heap Configuration: MinHeapFreeRatio = 40 MaxHea ...

  7. java远程计算机终止,java - javax.net.ssl.SSLHandshakeException:远程主机终止了握手 - 堆栈内存溢出...

    我已经使用以下命令在Java信任库(cacerts)中安装了证书: keytool-导入-文件" C:\\ Users \\ kdursoji \\ Downloads \\ Zscaler ...

  8. android 415错误,java - Android Retrofit2无法添加标头(415错误代码) - 堆栈内存溢出...

    我正在尝试通过skyscanner api访问票证数据并将其传递到我的视图,但是我无法实现这一点,因为我收到415错误代码,我正在使用Retrofit2并以编程方式添加标头. 我的界面如下所示: pu ...

  9. java接口匿名内部类_JAVA技术分享:接口,内部类,匿名内部类

    原标题:JAVA技术分享:接口,内部类,匿名内部类 接口: 接口中只有抽象方法,而没有非抽象方法 特点: 1:接口不能被实例化,只能通过多态的形式,让子类实例化 2:接口的子类 A:可以是具体类,但是 ...

  10. java游戏移动_java - Java游戏 - 如何让敌人移动? - SO中文参考 - www.soinside.com

    Java游戏 - 如何让敌人移动? 问题描述 投票:1回答:2 我正在做一个射击游戏,并添加了许多带阵列的敌人,然后在地图上给他们一个随机位置,但我不知道如何让他们在到达他们的位置后移动.这是我的敌人 ...

最新文章

  1. python自学教程读书导图-自学Python第一天:起点读书自动领取经验值(附思路讲解)...
  2. asynchronous-logging-with-log4j-2--转
  3. mysql单表最大数据量_你的Mysql库真需要Adaptive Hash Index
  4. K8s-V1.17.6支持GPU
  5. 自考教育学计算机实践考试,中山大学自考计算机实践考试的流程是什么?
  6. dovecot mysql_dovecot+mysql
  7. 从一个数组中找出最接近目标_LeetCode每日一题 | 转变数组后最接近目标值的数组和...
  8. 实验报告总结_小学四年级数学下册全册知识点总结 ,家有四年级学生的家长收藏...
  9. c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast...
  10. 廖雪峰python教程-廖雪峰Python教程的配套视频教程,全套完整版!
  11. c语言注释部分两侧的分界符号分别是,单片机C语言练习题
  12. des加密 lua_lua des加密解密 各种加密解密函数 - 奇闻 - 91文库
  13. Reflection in Java
  14. maven出现Process terminated
  15. Mac系统查看端口占用的进程
  16. activity关闭和dialog.dismiss冲突的解决(Activity has leaked window com.android.internal.p
  17. 无情刀永不知错,无缘分只叹奈何
  18. mysql distinct数量_MySQL SELECT DISTINCT和计数?
  19. 用大智慧实现大数据的大价值
  20. 汇编语言的AX,BX,CX,DX,分别表示什么

热门文章

  1. maven deploy plugin_Maven快速上手
  2. oracle+资料类型不一致吗,oracle数据库中,字段类型不一致,导致查询慢
  3. 使用c++查看linux服务器某个进程正在使用的内存_Linux 系统管理
  4. Python设计模式之模板方法模式实例详解
  5. 数据算法与结构基本知识
  6. 系统总结学习 Python 的 14 张思维导图
  7. python中的self含义及使用方法
  8. html的实战性介绍
  9. 插件化、热补丁中绕不开的Proguard的坑
  10. 一篇文章搞懂架构师的核心技能