为什么Kotlin中的val box1和val box2都正确?

Hel*_*oCW 0 kotlin

我是Kotlin的初学者,以下代码来自网页,val box3是正确的.

我被告知val box1和val box2都是正确的.为什么?

class Box<T>(val value: T)


val box1: Box<Int> = Box<Int>(1)

val box2: Box<Int> = Box(1)

val box3 = Box(1)
Run Code Online (Sandbox Code Playgroud)

zsm*_*b13 6

所有这三行都是"正确的",并以完全相同的方式创建完全相同的实例.他们只是使用Kotlin提供的各种级别的类型推断(即它可以从上下文中自己找出类型和类型参数),从最详细的第一个到最简洁的最后一个.

由于这些线条的作用完全没有区别,因此您可以根据自己的喜好使用最易读的线条.