banner
指数爆炸

指数爆炸

我做了对饭 !
github
bilibili

java.lang.ClassCastException

"main" 线程中的异常 java.lang.ClassCastException: class itheima11.student1 无法转换为 class java.lang.Comparable(itheima11.student1 位于加载器 'app' 的未命名模块中;java.lang.Comparable 位于加载器 'bootstrap' 的 java.base 模块中)
    在 java.base/java.util.TreeMap.compare (TreeMap.java:1569) 处
    在 java.base/java.util.TreeMap.addEntryToEmptyMap (TreeMap.java:776) 处
    在 java.base/java.util.TreeMap.put (TreeMap.java:785) 处
    在 java.base/java.util.TreeMap.put (TreeMap.java:534) 处
    在 java.base/java.util.TreeSet.add (TreeSet.java:255) 处

当尝试将对象强制转换为不兼容类型时,会引发此错误。

这是因为将 itheima11.student1 类的对象强制转换为 java.lang.Comparable 类,但它没有实现该接口。
错误消息表明您需要在 student1 类中实现 Comparable 接口。

感悟:

当 TreeSet 集合中的元素是某个类时,这个类一定要实现 Comparable 接口,否则会报错。因为 TreeSet 只能对实现了 Comparable 接口的类对象进行排序,这是因为 Comparable 接口中有一个compareTo(Object o)方法用于比较两个对象的大小。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。