将单个字符转换为Scala的Char对象的最简单和最简洁的方法是什么?
我找到了以下解决方案,但不知何故它似乎让我不满意,因为我相信应该可以以更优雅的Scala方式解决这个问题,而无需使用不必要的转换和特定于数组的操作:
scala> "A".toCharArray.head
res0: Char = A
将单个字符转换为Scala的Char对象的最简单和最简洁的方法是什么?
我找到了以下解决方案,但不知何故它似乎让我不满意,因为我相信应该可以以更优雅的Scala方式解决这个问题,而无需使用不必要的转换和特定于数组的操作:
scala> "A".toCharArray.head
res0: Char = A
有很多方法可以做到这一点。这里有几个:
'A' // Why not just write a char to begin with?
"A"(0) // Think of "A" like an array--this is fast
"A".charAt(0) // This is what you'd do in Java--also fast
"A".head // Think of "A" like a list--a little slower
"A".headOption // Produces Option[Char], useful if the string might be empty
如果你多用Scala,.head
版本是最干净最清晰的;没有乱七八糟的东西,数字可能会被一个或必须考虑的数字。但是,如果您真的需要做很多事情,请head
通过一个必须将字符装箱的通用接口运行,而.charAt(0)
不要(0)
,因此后者的速度大约快 3 倍。
您可以使用 scala 的charAt。
scala> var a = "this"
a: String = this
scala> a.charAt(0)
res3: Char = t
此外,以下内容是有效的,可能是您正在寻找的内容:
scala> "a".charAt(0)
res4: Char = a