Java ShortBuffer put(int, short)方法及示例
java.nio.ShortBuffer 类的 put() 方法是用来把给定的short写到这个缓冲区的给定索引处。
语法:
public abstract ShortBuffer put(int index, short s)
参数:
index :这个参数指定了将被写入短值的索引,它是可选的。s :这个参数指定了要写入的短值。返回值 :该方法返回这个 缓冲区
异常:
IndexOutOfBoundsException – 如果索引为负数或不小于缓冲区的限制。ReadOnlyBufferException – 如果这个缓冲区是只读的。下面的程序说明了 put() 方法。
程序1 :
// Java program to demonstrate put() method import java.nio.*;import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ShortBuffer int capacity = 3; // Creating the ShortBuffer try { // creating object of shortbuffer // and allocating size capacity ShortBuffer sb = ShortBuffer.allocate(capacity); // putting the value in shortbuffer // using put() at index 0 sb.put(0, (short)400); // putting the value in shortbuffer // using put() at index 2 sb.put(2, (short)1000); // putting the value in shortbuffer // using put() at index 1 sb.put(1, (short)30); // rewinding the shortbuffer sb.rewind(); // print the ShortBuffer System.out.println("Original ShortBuffer: " + Arrays.toString(sb.array())); } catch (IndexOutOfBoundsException e) { System.out.println("Exception throws: " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws: " + e); } }}
输出:
Original ShortBuffer: [400, 30, 1000]
程序2 :
为了演示IndexOutOfBoundsException。
// Java program to demonstrate put() method import java.nio.*;import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ShortBuffer int capacity = 3; // Creating the ShortBuffer try { // creating object of shortbuffer // and allocating size capacity ShortBuffer sb = ShortBuffer.allocate(capacity); // putting the value in shortbuffer // using put() at index 0 sb.put(0, (short)31); // putting the value in shortbuffer // using put() at index 2 sb.put(2, (short)49); // putting the value in shortbuffer // using put() at index -1 System.out.println("Trying to put the value" + " at the negative index"); sb.put(-1, (short)27); } catch (IndexOutOfBoundsException e) { System.out.println("Exception throws: " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws: " + e); } }}输出:
Trying to put the value at the negative indexException throws: java.lang.IndexOutOfBoundsException
程序3 :演示ReadOnlyBufferException。
// Java program to demonstrate put() method import java.nio.*;import java.util.*; public class GFG { public static void main(String[] args) { // Declaring the capacity of the ShortBuffer int capacity = 3; // Creating the ShortBuffer try { // creating object of shortbuffer // and allocating size capacity // using allocate() method ShortBuffer sb = ShortBuffer.allocate(capacity); // Creating a read-only copy of ShortBuffer // using asReadOnlyBuffer() method ShortBuffer sb1 = sb.asReadOnlyBuffer(); System.out.println("Trying to put the float value" + " in read only buffer"); // putting the value in readonly shortbuffer // using put() method sb1.put(0, (short)13); } catch (BufferOverflowException e) { System.out.println("Exception throws: " + e); } catch (ReadOnlyBufferException e) { System.out.println("Exception throws: " + e); } }}输出:
Trying to put the float value in read only bufferException throws: java.nio.ReadOnlyBufferException
参考资料: https://docs.oracle.com/javase/9/docs/api/java/nio/ShortBuffer.html#put-int-short-
