代码之家  ›  专栏  ›  技术社区  ›  frozen

Scala隐式类型转换

  •  1
  • frozen  · 技术社区  · 9 年前

    所以我知道在Scala中,所有的东西都是对象,Scala匹配最长的标记(来源: http://www.scala-lang.org/docu/files/ScalaTutorial.pdf

    var b = 1.+(2)
    

    b是一个双精度加号和Int,在Java中是一个Double。 但是当我通过 println(b.isInstanceOf[Int])

    2 回复  |  直到 9 年前
        1
  •  3
  •   Kolmar    9 年前

    specification :

    1. . 缺少。

    1.+(2) 应解析为整数 1 . + 和方法参数 (2) .

        2
  •  0
  •   jsdeveloper    9 年前

    默认情况下,编译器将1和2视为int。你可以强迫其中任何一个是双重使用 1.toDouble 结果(b)将是一个双精度。