首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Kotlin double等于没有找到.equals方法?

为什么Kotlin double等于没有找到.equals方法?
EN

Stack Overflow用户
提问于 2019-06-18 16:19:12
回答 1查看 672关注 0票数 3

下面的kotlin代码不编译。它声称没有任何方法‘等于(任何?):布尔’可用。

代码语言:javascript
复制
override fun afterJob(jobExecution: JobExecution) {
            if (jobExecution.exitStatus == ExitStatus.COMPLETED) {
               //do stuff
            }
}

ExitStatus ( spring批处理中的java类)确实有一个相等的方法。见此处:https://docs.spring.io/spring-batch/4.1.x/api/org/springframework/batch/core/ExitStatus.html

代码语言:javascript
复制
public class ExitStatus
extends java.lang.Object
implements java.io.Serializable, java.lang.Comparable<ExitStatus>

如果我将==更改为.equals,它就能工作。为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2019-06-18 16:27:43

这是因为当kotlin看到操作符==时,它只查找.equals(other: Any?): Boolean方法,而不是任何其他重载。如果类型没有精确的重载,则在使用==运算符时将找不到它。您的类型似乎还有一些其他重载,比如.equals(other: ExitStatus),当您显式调用它时使用它。

更多关于Kotlin操作符重载。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56653315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档