这是我的发现.我发现在Scala我可以简单地写下这样的表达式:
val n: Int = (((2: Int): Int): Int): Int
Run Code Online (Sandbox Code Playgroud)
它将100%有效.但我不知道为什么Scala创作者会这样做?这个语义有什么意义?有这种奇怪的原因吗?
PS
我可以假设这种方法用于type inference帮助编译器弄清楚发生了什么.或者也许还有其他一些案例?
Int(2你的情况)是Int(并保持的Int).即使您通过( (previous : ...) : Int )它重复多次仍然保持Int.