public int compareTo(ListItem item) {
if(item!=null) {
return ((String) super.getValue()).compareTo((String) item.getValue());
}
我的程序基于抽象类概念。
我该如何解决这个问题java.lang.ClassCastException:
在我的程序中?
Java 中的转换不会神奇地将数据从一种类型转换为另一种类型。相反,它告诉 Java 存储在变量中的对象实际上is其他一些类型,在处理继承或接口时很有用。看这个 StackOverflow 问题 https://stackoverflow.com/questions/5289393/casting-variables-in-java更多细节。
在这种情况下,您获得的值是item.getValue()
是一个整数。尝试转换为 String 不起作用,也不可能起作用,因为它不是一个字符串。它确实是一个 Integer,尝试对其调用 String 方法是行不通的。
正如其他人提到的,您可以使用将整数转换为字符串Integer.toString(someInteger)
。但是,由于您正在进行比较,因此您可能应该只将值作为整数进行比较。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)