Многомерный байтовый массив в Kotlin - PullRequest
0 голосов
/ 17 мая 2019

У меня есть следующая функция в c #

public static byte[][] TagSplits(byte[][] splitArray, byte[] original, byte[] guid)
{
   byte[] temp;

   for (var a = 0; a < splitArray.Length; a++)
   {

   }
}

Я пытаюсь преобразовать следующий код в код Kotlin, в результате я получил следующий код:

companion object
{
    fun TagSplits(splitArray:  ByteArray, original: ByteArray, guid: ByteArray): ByteArray
    {

        var temp: ByteArray

        for(a in 0..splitArray.size)
        {

        }

    }
}

Как я смогу объявить многомерный байтовый массив в Kotlin как в базе кода c #? Для входных параметров для

Ответы [ 2 ]

3 голосов
/ 17 мая 2019

Массивы не имеют специального синтаксиса в Kotlin.Есть два способа работы с массивами:

  • Использование специализированных типов ByteArray, IntArray и т. Д. Они соответствуют массивам Java byte[], int[].
  • Использование универсального типа Array<T>.Это соответствует массиву ссылок Java T[].

Вы можете добиться вложения, используя Array<ByteArray>, но, вероятно, есть лучший способ добиться именно того, что вам нужно.Альтернативами являются List<ByteArray> или более высокоуровневое представление ООП шаблонов байтов.

1 голос
/ 17 мая 2019

ByteArray - это объект (ссылочный тип), поэтому вы можете создать его массив: Array<ByteArray>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...