相关疑难解决方法(0)

List to TreeSet转换产生:"java.lang.ClassCastException:MyClass不能转换为java.lang.Comparable"

List<MyClass> myclassList = (List<MyClass>) rs.get();

TreeSet<MyClass> myclassSet = new TreeSet<MyClass>(myclassList);
Run Code Online (Sandbox Code Playgroud)

我不明白为什么这段代码生成这个:

java.lang.ClassCastException: MyClass cannot be cast to java.lang.Comparable
Run Code Online (Sandbox Code Playgroud)

MyClass没有实现Comparable.我只想使用Set来过滤List的唯一元素,因为我的List包含不必要的重复项.

java classcastexception

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

将<Object,Object>放入TreeMap时出错

我有以下两个类来定义我想要放入TreeMap的对象:

class GeneKey {

    String PN;
    int PW;

    // Generator makes unique TreeMap key.
    GeneKey(String a, int b){
        this.PN = a;
        this.PW = b;
    }
}   
Run Code Online (Sandbox Code Playgroud)

然后是第二个对象:

class GeneValue {

    String info;
    String date;

    // Generator makes TreeMap value
    GeneValue(String a, String b){
        this.info = a;
        this.date = b;
    }
}   
Run Code Online (Sandbox Code Playgroud)

我想制作一个TreeMap:

import java.util.TreeMap;

// In main ...
TreeMap<GeneKey, GeneValue> samples = new TreeMap<GeneKey, GeneValue>();  

String a = "test";
int b = 100;

String c = "test again";
String d …
Run Code Online (Sandbox Code Playgroud)

java dictionary treemap

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

基于对象属性的ArrayList排序

以下是Employee bean类.

public class Employee {
    public String name;
    public int age;

    public Employee()
    {

    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge()
    {
        return age;
    }

    public void setAge(int age)
    {
        this.age = age;
    }
}
Run Code Online (Sandbox Code Playgroud)

我有其他EmployeeTest类,在其中我创建Employee类的对象并存储在ArrayList中.

import java.util.ArrayList;

public class EmployeeTest {
    public static void main(String[] args) 
    {
        ArrayList<Employee> empList = new ArrayList<Employee>();
        Employee emp1 = new Employee();
        emp1.setAge(15);
        emp1.setName("Employee1");
        Employee emp2 = new Employee();
        emp2.setAge(10); …
Run Code Online (Sandbox Code Playgroud)

java sorting collections

1
推荐指数
1
解决办法
2950
查看次数