调用方法或强制转换(优先级)



我不知道下面的代码有什么问题?在IntelliJ中,在编译时,compareTo方法发生错误,并表示Number类中不存在此方法。

Number x = new Integer(3);
System.out.println(x.intValue());
System.out.println((Integer)x.compareTo(new Integer(4)));

它不是先转换为Integer对象,然后调用该方法吗?

它不是先转换为Integer对象,然后调用该方法吗?

否,它将方法的结果转换为Integer。您需要调用((Integer)x).compareTo(new Integer(4))

不,您正试图将数字与整数进行比较,然后将结果强制转换为整数。总是倾向于使用括号来帮助阅读,或者更好地使用内置函数以理想的方式获得变量

相关内容

  • 没有找到相关文章

最新更新