gpt4 book ai didi

scala - 从 Long 转换为 List[Int]

转载 作者:行者123 更新时间:2023-12-05 08:21:07 24 4
gpt4 key购买 nike

我正在尝试将 Long 转换为 List[Int],其中列表中的每个项目都是原始 Long 的单个数字。

scala> val x: Long = 123412341L
x: Long = 123412341

scala> x.toString.split("").toList
res8: List[String] = List("", 1, 2, 3, 4, 1, 2, 3, 4, 1)

scala> val desired = res8.filterNot(a => a == "")
desired: List[String] = List(1, 2, 3, 4, 1, 2, 3, 4, 1)

使用 split("") 会产生一个 "" 列表元素,我一开始就不希望有它。

我可以简单地过滤它,但我可以从 123412341LList(1, 2, 3, 4, 1, 2, 3, 4, 1) 更干净?

最佳答案

如果你想要数字的整数值,可以这样做:

scala> x.toString.map(_.asDigit).toList
res65: List[Int] = List(1, 2, 3, 4, 1, 2, 3, 4, 1)

注意 .map(_.asDigit) 的区别:

scala> x.toString.toList
res67: List[Char] = List(1, 2, 3, 4, 1, 2, 3, 4, 1)

scala> res67.map(_.toInt)
res68: List[Int] = List(49, 50, 51, 52, 49, 50, 51, 52, 49)

x.toString.toList 是一个字符列表,即 List('1','2','3',...)。列表的 toString 呈现使它看起来相同,但两者完全不同——例如,“1”字符的整数值为 49。您应该使用哪个取决于您是否需要数字字符或它们所代表的整数。

关于scala - 从 Long 转换为 List[Int],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22750852/

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