gpt4 book ai didi

kotlin - 为什么在 Kotlin 中不推荐将 Double 和 Long 类型直接转换为 Char?

转载 作者:行者123 更新时间:2023-12-01 22:55:48 25 4
gpt4 key购买 nike

在 Kotlin 中,从 1.5 版本开始,DoubleLong 类型直接转换为 Char 已标记为已弃用,建议调用下面的toInt().toChar() 函数链将Double/Long 转换为字符

是什么提示 Kotlin 开发人员放弃将DoubleLong 类型直接转换为Char

这种方法可以避免哪些问题?

fun main() {
val l = 100_000_000_000 // random big number
val d = 1.2543534645645362E15 // random big double

var chUsedDirectToChar = l.toChar()
var chUsedToIntToChar = l.toInt().toChar() // the same
println(chUsedDirectToChar == chUsedToIntToChar) // true

chUsedDirectToChar = d.toChar()
chUsedToIntToChar = d.toInt().toChar() // the same
println(chUsedDirectToChar == chUsedToIntToChar) // true
}

最佳答案

您可以在这个 KEEP 中找到动机:https://github.com/Kotlin/KEEP/blob/master/proposals/stdlib/char-int-conversions.md

Reverse conversions like Double.toChar() usually make no sense, and it would be more clear if the intent was expressed explicitly by converting the number to Int first and then getting the character corresponding to that Int code.

对于16.284619这样的数字,很难理解你想要的字符是什么,所以现在你必须明确地将它转换为Int,然后再转换为字符

关于kotlin - 为什么在 Kotlin 中不推荐将 Double 和 Long 类型直接转换为 Char?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73301824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com