首页 > 解决方案 > Kotlin Data 类不尊重值传递顺序

问题描述

我有一个奇怪的行为,我初始化了一个需要 3 个参数的数据类,但不遵守传递值的顺序,参数 3 获取传递的第二个参数的值,为什么会发生这样的事情?

data class PersonalSignMessage(val id: Long, val message: String, val address: String)
val signMessage = PersonalSignMessage(
                id,
                signingMessage,
                ethAddress
            )

我的代码由于参数中的错误值而失败,我不敢相信,因为在调试时我可以看到传递的数据是正确的,我在后面放了一个断点,我可以看到signingMessage 的值是ethAddress。如果我明确添加参数名称,那么它可以工作:

        val signMessage = PersonalSignMessage(
            id = id,
            message = signingMessage,
            address = ethAddress
        )

这应该是预期的行为吗???

标签: kotlin

解决方案


推荐阅读