Почему нельзя использовать hex Int в методе kotlin intArrayOf? - PullRequest
0 голосов
/ 12 ноября 2019

Я нашел странную проблему в Kotlin.

Я могу присвоить шестнадцатеричное целое число переменной Int, например:

private val a = 0xFFFF0000    //works good

, но я не могу использовать это шестнадцатеричное целое число вintArrayOf:

private val array: IntArray = intArrayOf(0xFFFF0000)

Запросы IDE: целочисленный литерал не соответствует ожидаемому типу Int . enter image description here

Кто-нибудь знает почему? и есть ли в любом случае использовать 0xFFFF0000 в intArrayof?

1 Ответ

0 голосов
/ 12 ноября 2019

, поскольку 0xFFFF0000 имеет значение Long Тип,

Вы можете использовать private val array: IntArray = intArrayOf(0xFFFF0000.toInt())

, чтобы изменить тип с Long на Int

или объявить LongArray type

как private val array: LongArray = longArrayOf(0xFFFF0000)

...