如何在 Scala 中输入强制转换 Char/Int?

发布于 2024-10-03 08:10:34 字数 240 浏览 2 评论 0原文

我在让这个演员阵容工作时遇到问题。

编译器告诉我值 aNumber 不是对象 Char 的成员

def runCastTest() {  
  val aNumber = 97  
  val aChar = (Char)aNumber

  println(aChar) // Should be 'a'  
}

我做错了什么?

I am having issues getting this cast to work.

The compiler tells me value aNumber is not a member of object Char

def runCastTest() {  
  val aNumber = 97  
  val aChar = (Char)aNumber

  println(aChar) // Should be 'a'  
}

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

上课铃就是安魂曲 2024-10-10 08:10:34

你没有铸造。使用 (Char)aNumber,您尝试调用对象 Char 中的方法 aNumber

scala> val aNumber = 97
aNumber: Int = 97

scala> val aChar = (Char)aNumber
<console>:5: error: value aNumber is not a member of object Char
        val aChar = (Char)aNumber
                          ^

您可以执行

scala> aNumber.asInstanceOf[Char]
res0: Char = a

或按照 Nicolas 的建议,在对象上调用 toChar整数实例:

scala> aNumber.toChar
res1: Char = a

You are not casting. With (Char)aNumber you are trying to invoke a method aNumber in the object Char:

scala> val aNumber = 97
aNumber: Int = 97

scala> val aChar = (Char)aNumber
<console>:5: error: value aNumber is not a member of object Char
        val aChar = (Char)aNumber
                          ^

You can do

scala> aNumber.asInstanceOf[Char]
res0: Char = a

or as Nicolas suggested call toChar on the Int instance:

scala> aNumber.toChar
res1: Char = a
芸娘子的小脾气 2024-10-10 08:10:34

由于 scala 中的一切都是对象,因此您应该使用 aNumber.toChar

As everything is an Object in scala, you should use aNumber.toChar.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文