【问题标题】:calling method or casting(priority)? [duplicate]调用方法还是强制转换(优先级)? [复制]
【发布时间】:2021-06-25 15:05:22
【问题描述】:

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

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

不是先转成Integer对象再调用方法吗?

【问题讨论】:

标签: java object compilation compare


【解决方案1】:

不,您正在尝试将数字与整数进行比较,然后将结果转换为整数。总是首选使用括号来帮助阅读,甚至更好地使用内置函数以理想的方式获取变量

【讨论】:

    【解决方案2】:

    不是先转成Integer对象再调用方法吗?

    不,它将方法的结果转换为Integer。您需要致电 ((Integer)x).compareTo(new Integer(4))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-13
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-04
      • 1970-01-01
      相关资源
      最近更新 更多