在 Scala 中,编译错误的原因可能是因为 val
定义的变量类型和实际赋值的类型不匹配。在这个例子中,val num
被定义为 Int
类型,而 123
是一个整数,因此类型匹配。但是,当我们尝试调用 getClass()
方法时,编译器会报错,因为 Int
类型没有 getClass()
方法。
要解决这个问题,可以将 val
定义为 Any
类型,这样就可以调用 getClass()
方法了。以下是修改后的代码:
val num: Any = 123
println(num.getClass())
这段代码将输出以下结果:
class java.lang.Integer
这是因为 Scala 的 Int
类型在底层实际上是 Java 的 Integer
类型。