Метод ByteBuffer allocate () в Java с примерами
Метод allocate () класса java.nio.ByteBuffer используется для выделения нового байтового буфера.
Позиция нового буфера будет равна нулю, его пределом будет его емкость, его метка будет неопределенной, и каждый из его элементов будет инициализирован нулем. У него будет резервный массив, и его смещение массива будет нулевым.
Синтаксис:
публичный статический ByteBuffer allocate (int capacity)
Параметры: этот метод принимает емкость в байтах в качестве параметра.
Возвращаемое значение: этот метод возвращает новый байтовый буфер.
Броски: этот метод выдает исключение IllegalArgumentException , если емкость является отрицательным целым числом.
Ниже приведены примеры, иллюстрирующие метод allocate ():
Examples 1:
// Java program to demonstrate // allocate() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ByteBuffer int capacity = 4 ; // Creating the ByteBuffer try { // creating object of ByteBuffer // and allocating size capacity ByteBuffer bb = ByteBuffer.allocate(capacity); // putting the int to byte typecast value // in ByteBuffer using putInt() method bb.put(( byte ) 20 ); bb.put(( byte ) 30 ); bb.put(( byte ) 40 ); bb.put(( byte ) 50 ); bb.rewind(); // print the ByteBuffer System.out.println( "Original ByteBuffer: " + Arrays.toString(bb.array())); } catch (IllegalArgumentException e) { System.out.println( "IllegalArgumentException catched" ); } catch (ReadOnlyBufferException e) { System.out.println( "ReadOnlyBufferException catched" ); } } } |
Original ByteBuffer: [20, 30, 40, 50]
Examples 2:
// Java program to demonstrate // allocate() method import java.nio.*; import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity with negative // value of the ByteBuffer int capacity = - 4 ; // Creating the ByteBuffer try { // creating object of ByteBuffer // and allocating size capacity System.out.println( "Trying to allocate negative" + " value in ByteBuffer" ); ByteBuffer bb = ByteBuffer.allocate(capacity); // putting int to byte typecast value // in ByteBuffer using putInt() method bb.put(( byte ) 20 ); bb.put(( byte ) 30 ); bb.put(( byte ) 40 ); bb.put(( byte ) 50 ); bb.rewind(); // print the ByteBuffer System.out.println( "Original ByteBuffer: " + Arrays.toString(bb.array())); } catch (IllegalArgumentException e) { System.out.println( "Exception thrown : " + e); } catch (ReadOnlyBufferException e) { System.out.println( "Exception thrown : " + e); } } } |
Trying to allocate negative value in ByteBuffer Exception thrown : java.lang.IllegalArgumentException
Вниманию читателя! Не переставай учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .