作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我如何在 Scala 中查看变量的类型?
我试过这样做:
val x = 10
println(type(x))
或
val x = 'Hello!'
println(x.type)
不幸的是,我在这两种方式中都犯了错误。
最佳答案
根据您的尝试,这可能就足够了
val x=10
println(x.getClass.toString)
然而,这会因为类型删除而失效; Scala 比 Java 有更多的信息,上面只给了你 Java 的观点。有一个 thread here关于这个主题的更多信息;结果是:
def manOf[T:Manifest](t:T):Manifest[T] = manifest[T]
println(manOf(1))
println(manOf(List(1,2,3)))
得到你
Int
scala.collection.immutable.List[Int]
而 .getClass.toString
方法只会给你一个 int
和一个神秘的 class scala.collection.immutable.$colon$colon
当然,如果您使用的是 REPL shell,它无论如何都会告诉您 (scala) 类型的东西:
$ scala
Welcome to Scala version 2.9.2 (OpenJDK 64-Bit Server VM, Java 1.6.0_27).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val x=10
x: Int = 10
关于scala - Scala 中变量的返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19742898/
COW 不是奶牛,是 Copy-On-Write 的缩写,这是一种是复制但也不完全是复制的技术。 一般来说复制就是创建出完全相同的两份,两份是独立的: 但是,有的时候复制这件事没多大必要
我是一名优秀的程序员,十分优秀!