Scala中这个隐式演员的背后是什么?

前端之家收集整理的这篇文章主要介绍了Scala中这个隐式演员的背后是什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不熟悉 Scala并在使用交互模式时遇到以下问题:

scala>"abc"+4
res0: java.lang.String = abc4
scala>4+"abc"
res1: String = 4abc

我很好奇的是结果的类型如何不同(java.lang.String vs String).在Seven Weeks的Book Seven Languages中,两种类型都是java.lang.String.

顺便说一句,scala解释器的版本是2.9.1.

解决方法

在JVM上,scala的String只是java.lang.String的别名. Repl有时将类型显示为String,有时显示为java.lang.String这一事实只是次要(REPL特定)故障,不会以任何方式影响运行时行为.

对于它的价值,这是我在scala 2.10-RC1中得到的:

scala> "abc"+4
res0: String = abc4

scala> 4+"abc"
res1: String = 4abc

猜你在找的Scala相关文章