當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java java.nio.IntBuffer用法及代碼示例


IntBuffer 保存要在 I/O 操作中使用的整數值序列。 IntBuffer 類提供以下四類針對長緩衝區的操作:

  • 讀取單個整數的絕對和相對 get 方法。
  • 寫入單個整數的絕對和相對 put 方法。
  • 相對批量 put 和 get 方法,將連續的整數序列從 int 數組或其他 int 緩衝區傳輸到此緩衝區,並從此緩衝區傳輸到數組。

Int 緩衝區可以通過以下方式創建:

  • allocate():這為緩衝區的內容分配空間。
  • wrap():這會將現有的長數組包裝到緩衝區中。

IntBuffer 類的大多數方法與 ByteBuffer 定義的方法直接類似。

類別聲明:

public abstract class IntBuffer

extends Buffer

implements Comparable<IntBuffer>

IntBuffer類的方法:

方法

說明

IntBuffer allocate()

此方法分配一個新的int緩衝區。

IntBuffer array()

此方法返回支持此緩衝區的 int 數組。

IntBuffer arrayOffset()

此方法返回緩衝區第一個元素在該緩衝區的後備數組中的偏移量。

IntBuffer asReadOnlyBuffer()

此方法創建一個新的隻讀 int 緩衝區,共享該緩衝區的內容。

IntBuffer compact()

此方法壓縮此緩衝區。

IntBuffer compareTo()

此方法將此緩衝區與另一個緩衝區進行比較。

IntBuffer duplicate()

此方法創建一個新的 int 緩衝區來共享該緩衝區的內容。

IntBuffer equals()

此方法告知此緩衝區是否等於另一個對象。

IntBuffer get()方法

該方法是一個相對 get 方法,返回緩衝區當前位置的int。

IntBuffer get()方法

此方法是絕對 get 方法,並返回給定索引處的int。

IntBuffer get()方法

該方法是一個相對批量獲取方法並返回該緩衝區。

IntBuffer get()方法

此方法相對是批量獲取方法並返回此緩衝區。

IntBuffer hasArray()

此方法告知此緩衝區是否由可訪問的 int 數組支持。

hashCode()

該方法返回該緩衝區的當前哈希碼。

isDirect()

此方法告訴 int 緩衝區是否是直接的。

order()

該方法檢索該緩衝區的字節順序。

IntBuffer put()方法

該方法是一個相對的 put 方法並返回該緩衝區。

IntBuffer put()方法

此方法是相對批量放置方法並返回此緩衝區。

IntBuffer put()方法

此方法是相對批量放置方法並返回此緩衝區。

IntBuffer put()方法

此方法是相對批量放置方法並返回此緩衝區。

IntBuffer put()方法

該方法是絕對批量放置方法並返回該緩衝區。

IntBuffer slice()

此方法創建一個新的 int 緩衝區,其內容是該緩衝區內容的共享子序列。

toString()

此方法返回一個總結該緩衝區狀態的字符串。

IntBuffer wrap()

此方法將 int 數組包裝到緩衝區中。

IntBuffer wrap()

此方法將 int 數組包裝到緩衝區中。

以下是一些演示IntBuffer類及其方法的程序:

示例 1:

Java


// Java program to demonstrate 
// IntBuffer class 
  
import java.nio.*; 
import java.util.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // Declaring the capacity of the IntBuffer 
        int Capacity = 10; 
  
        // Creating the IntBuffer 
  
        // creating object of intbuffer 
        // and allocating size capacity 
        IntBuffer ib = IntBuffer.allocate(Capacity); 
  
        // putting the value in intbuffer 
        ib.put(100); 
        ib.put(2, 9); 
  
        System.out.println("IntBuffer: "
                           + Arrays.toString(ib.array())); 
    } 
}
輸出
IntBuffer: [100, 0, 9, 0, 0, 0, 0, 0, 0, 0]

示例 2:

Java


// Java program to demonstrate 
// IntBuffer class 
  
import java.nio.*; 
import java.util.*; 
  
public class GFG { 
    public static void main(String[] args) 
    { 
  
        // Declaring the capacity of the IntBuffer 
        int capacity = 10; 
  
        // Creating the IntBuffer 
        try { 
  
            // creating object of Intbuffer 
            // and allocating size capacity 
            IntBuffer ib = IntBuffer.allocate(capacity); 
  
            // putting the value in Intbuffer 
            ib.put(4); 
            ib.put(2, 9); 
            ib.rewind(); 
  
            // checking IntBuffer ib is backed by array or 
            // not 
            boolean isArray = ib.hasArray(); 
  
            // checking if else condition 
            if (isArray) 
                System.out.println("IntBuffer ib is"
                                   + " backed by array"); 
            else
                System.out.println( 
                    "IntBuffer ib is"
                    + " not backed by any array"); 
        } 
  
        catch (IllegalArgumentException e) { 
            System.out.println( 
                "IllegalArgumentException catched"); 
        } 
  
        catch (ReadOnlyBufferException e) { 
            System.out.println( 
                "ReadOnlyBufferException catched"); 
        } 
    } 
}
輸出
IntBuffer ib is backed by array


相關用法


注:本文由純淨天空篩選整理自mank1083大神的英文原創作品 java.nio.IntBuffer Class in Java。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。