0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Теги: kotlin, массивы, примитивные типы</p>
1
<p>Теги: kotlin, массивы, примитивные типы</p>
2
<p>Когда используешь функцию arrayOf() и создаешь массив с типами вроде<strong>Array<Int></strong>, полученный таким образом массив будет представлять собой список из объектов. К примеру, при работе в<strong>JVM</strong>целочисленный тип будет упакован не как примитивный тип<strong>int</strong>, а как класс<strong>Integer</strong>. Все это, конечно, неплохо, однако есть нюанс: применение примитивных типов, если сравнивать их с аналогами в виде классов, потребляет меньше системной памяти, следовательно, повышает производительность. Как же создавать массивы примитивных типов в Kotlin? Нам помогут<strong>IntArray, FloatArray и DoubleArray</strong>.</p>
2
<p>Когда используешь функцию arrayOf() и создаешь массив с типами вроде<strong>Array<Int></strong>, полученный таким образом массив будет представлять собой список из объектов. К примеру, при работе в<strong>JVM</strong>целочисленный тип будет упакован не как примитивный тип<strong>int</strong>, а как класс<strong>Integer</strong>. Все это, конечно, неплохо, однако есть нюанс: применение примитивных типов, если сравнивать их с аналогами в виде классов, потребляет меньше системной памяти, следовательно, повышает производительность. Как же создавать массивы примитивных типов в Kotlin? Нам помогут<strong>IntArray, FloatArray и DoubleArray</strong>.</p>
3
<p><em>Примечание: у вас не получится использовать примитивы со списками, поэтому принимать решение об использовании примитивов следует, рассматривая каждый случай отдельно.</em></p>
3
<p><em>Примечание: у вас не получится использовать примитивы со списками, поэтому принимать решение об использовании примитивов следует, рассматривая каждый случай отдельно.</em></p>
4
<p>Итак, продолжим. Стандартная библиотека Kotlin включает в себя не только arrayOf(), но и прочие функции -- они как раз и позволяют пользователю создавать массивы, которые будут соответствовать массивам примитивных типов. Например, никто не мешает получить массив нечетных чисел таким образом:</p>
4
<p>Итак, продолжим. Стандартная библиотека Kotlin включает в себя не только arrayOf(), но и прочие функции -- они как раз и позволяют пользователю создавать массивы, которые будут соответствовать массивам примитивных типов. Например, никто не мешает получить массив нечетных чисел таким образом:</p>
5
<p>То есть при запуске Kotlin в JVM массив с именем<strong>oddNumbers</strong>скомпилируется в Java-массив типа int[].</p>
5
<p>То есть при запуске Kotlin в JVM массив с именем<strong>oddNumbers</strong>скомпилируется в Java-массив типа int[].</p>
6
<p>Однако существуют и другие функции стандартной библиотеки:</p>
6
<p>Однако существуют и другие функции стандартной библиотеки:</p>
7
<ul><li>floatArrayOf()</li>
7
<ul><li>floatArrayOf()</li>
8
<li>doubleArrayOf()</li>
8
<li>doubleArrayOf()</li>
9
<li>booleanArrayOf()</li>
9
<li>booleanArrayOf()</li>
10
</ul><p>Функции, упомянутые выше, позволяют создавать массивы соответствующих типов:<strong>IntArray, FloatArray, DoubleArray</strong>и пр. Кроме того, есть возможность передать число в конструктор для этих типов. Например, это может пригодиться при создании массива нулей.</p>
10
</ul><p>Функции, упомянутые выше, позволяют создавать массивы соответствующих типов:<strong>IntArray, FloatArray, DoubleArray</strong>и пр. Кроме того, есть возможность передать число в конструктор для этих типов. Например, это может пригодиться при создании массива нулей.</p>
11
<p>Если же надо осуществить конвертацию между упакованными и примитивными массивами, пригодится функция toIntArray():</p>
11
<p>Если же надо осуществить конвертацию между упакованными и примитивными массивами, пригодится функция toIntArray():</p>
12
<p>В результате типом константы<strong>otherOddNumbers</strong>станет уже<strong>IntArray</strong>, а не<strong>Array<Int></strong>.</p>
12
<p>В результате типом константы<strong>otherOddNumbers</strong>станет уже<strong>IntArray</strong>, а не<strong>Array<Int></strong>.</p>
13
<p><em>По материалам https://kotlins.org/.</em></p>
13
<p><em>По материалам https://kotlins.org/.</em></p>
14
14