相关疑难解决方法(0)

如何在Java中使用Comparator进行排序

我学会了如何使用比较器,但我对比较器有困难.我的代码中有错误:

Exception in thread "main" java.lang.ClassCastException: New.People cannot be cast to java.lang.Comparable
 at java.util.Arrays.mergeSort(Unknown Source)
 at java.util.Arrays.sort(Unknown Source)
 at java.util.Collections.sort(Unknown Source)
 at New.TestPeople.main(TestPeople.java:18)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import java.util.Comparator;

public class People implements Comparator {
   private int id;
   private String info;
   private double price;

   public People(int newid, String newinfo, double newprice) {
       setid(newid);
       setinfo(newinfo);
       setprice(newprice);
   }

   public int getid() {
       return id;
   }

   public void setid(int id) {
       this.id = id;
   }

   public String getinfo() {
       return info;
   }

   public void setinfo(String info) …
Run Code Online (Sandbox Code Playgroud)

java sorting comparator

163
推荐指数
6
解决办法
49万
查看次数

订购枚举值

我想知道是否有任何方式为不同的类订购枚举.例如,如果我有一组固定的化学物质,它们以不同的方式与其他化学物质发生反应,有些是强烈的,有些是弱的.我基本上希望能够根据组应该响应的化学物质(即取决于类别)来切换它们的排列顺序.我知道我应该使用Comparable,但我不知道该怎么做.如果我不够清楚,请发表评论,我会进一步解释.

谢谢.

public static enum Chem {
    H2SO4, 2KNO3, H20, NaCl, NO2
};
Run Code Online (Sandbox Code Playgroud)

所以我有一些看起来像这样的东西,我已经知道每种化学物质会如何与其他化学物质发生反应.我只是想根据它会与之反应的化学物质来安排Chems.这就是我所拥有的一切.

java enums comparable

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

comparable ×1

comparator ×1

enums ×1

sorting ×1