dam*_*hat 2 type-conversion implicit-conversion kotlin
在java中,我们可以赋值int给double,例如double x = 123;
在 kotlin 中,我们得到了一个编译错误。
问题:我们可以在 中启用自动转换功能kotlin吗?为什么kotlin默认没有这个功能?
var x: Double = 123; // ERROR
Run Code Online (Sandbox Code Playgroud)
再举一个例子:
fun foo(x: Double) { }
fun main(args: Array<String>) {
foo(123.0); // OK
foo(123); // ERROR
}
Run Code Online (Sandbox Code Playgroud)
更新:
文字123可以在编译时自动转换为Short或Long。但它不会转换为Float或Double。
fun fooShort(x: Short) {}
fun fooInt(x: Int) {}
fun fooLong(x: Long) {}
fun main(args: Array<String>) {
fooShort(123) // OK
fooInt(123) // OK
fooLong(123) // OK
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1794 次 |
| 最近记录: |