我在科特林发现了一个奇怪的问题。
我可以为Int变量分配一个十六进制整数,如下所示:
private val a = 0xFFFF0000 //works good
但我不能在
intArrayOf
中使用此十六进制整数:private val array: IntArray = intArrayOf(0xFFFF0000)
IDE提示:整数文字不符合预期的Int类型。
有人知道为什么吗?还有在
0xFFFF0000
中使用intArrayof
吗? 最佳答案
因为0xFFFF0000是Long
类型,
您可以使用private val array: IntArray = intArrayOf(0xFFFF0000.toInt())
将类型从Long更改为Int
或声明LongArray
类型
像private val array: LongArray = longArrayOf(0xFFFF0000)
关于java - 为什么不能在kotlin方法intArrayOf中使用十六进制Int?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58811970/