4+"abc" res1: String -6ren">
gpt4 book ai didi

scala - Scala 中这种隐式转换的背后是什么?

转载 作者:行者123 更新时间:2023-12-04 23:58:52 27 4
gpt4 key购买 nike

我对 Scala 不熟悉,在使用交互模式时遇到以下问题:

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

我很好奇的是结果的类型如何不同( java.lang.StringString )。在《七周七种语言》一书中,这两种类型都是 java.lang.String .

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

最佳答案

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

对于它的值(value),这是我在 Scala 2.10-RC1 中得到的:

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

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

关于scala - Scala 中这种隐式转换的背后是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13363116/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com