Java ShortBuffer put(int, short)方法及示例

来源:这里教程网 时间:2026-02-17 21:09:12 作者:

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-

相关推荐