Java Integer.MAX_VALUE vs Kotlin Int.MAX_VALUE
我注意到,一件有趣的事情。
Java是(2147483647)
Kotlin的,
但如果你用Java编写
:
在Kotlin中:Integer.MAX_VALUE
0x7fffffff
Int.MAX_VALUE
2147483647
int value = 0xFFFFFFFF;
//everything is fine (but printed value is '-1')
val value: Int = 0xFFFFFFFF //You get exception
The integer literal does not conform to the expected type Int
有趣吧?所以你可以在Java中做一些类似的事情,但不能在Kotlin中做。new java.awt.Color(0xFFFFFFFF, true)
Color
类在“二进制”级别上与该int一起工作,因此对于具有所有构造函数(或)的两个平台,一切都可以正常工作。
我为kotlin找到的唯一解决方法是。Color(int rgba)
Color(int r, int g, int b, int a)
java.awt.Color(0xFFFFFFFF.toInt(), true)
任何想法为什么在Kotlin中是这样的?