Java中的ByteBuffer asFloatBuffer()方法及其示例

这个 asFloatBuffer() 方法 JAVA尼奥。ByteBuffer 类用于创建此字节缓冲区作为浮点缓冲区的视图。 新缓冲区的内容将从此缓冲区的当前位置开始。对该缓冲区内容所做的更改将在新缓冲区中可见,反之亦然;两个缓冲器的位置、极限和标记值将是独立的。 新缓冲区的位置将为零,其容量和限制将为该缓冲区中剩余的字节数除以四,其标记将未定义。当且仅当此缓冲区是直接缓冲区时,新缓冲区将是直接缓冲区;当且仅当此缓冲区是只读缓冲区时,新缓冲区将是只读缓冲区。

null

语法:

public abstract FloatBuffer asFloatBuffer()

返回值: 此方法返回一个新的浮点缓冲区

下面是asFloatBuffer()方法的示例:

例1:

JAVA

// Java program to demonstrate
// asFloatBuffer() method
// for ByteBuffer
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity  of the ByteBuffer
int capacity = 50 ;
// Creating the ByteBuffer
try {
// creating object of  ByteBuffer
// and allocating size capacity
ByteBuffer bb = ByteBuffer.allocate(capacity);
// changing  bytebuffer into
// FloatBuffer
FloatBuffer cb = bb.asFloatBuffer();
// putting the value in FloatBuffer
cb.put( 1 .23F);
cb.put( 1 .33F);
cb.put( 1 .56F);
cb.rewind();
// Declaring variable c
Float c;
// print the ByteBuffer
System.out.print( "FloatBuffer : " );
while ((c = cb.get()) != 0 )
System.out.print(c + " " );
}
catch (IllegalArgumentException e) {
System.out.println( "Exception thrown : " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println( "Exception thrown : " + e);
}
}
}


输出:

FloatBuffer : 1.23 1.33 1.56

例2:

JAVA

// Java program to demonstrate
// asFloatBuffer() method
// for Read only ByteBuffer
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity  of the ByteBuffer
int capacity = 50 ;
// Creating the ByteBuffer
try {
// creating object of  ByteBuffer
// and allocating size capacity
ByteBuffer bb = ByteBuffer.allocate(capacity);
// changing  bytebuffer into
// FloatBuffer
FloatBuffer cb = bb.asFloatBuffer();
// putting the value in FloatBuffer
cb.put( 2 .1F);
cb.put( 3 .1F);
cb.put( 4 .1F);
cb.rewind();
// Declaring variable c
Float c;
// print the ByteBuffer
System.out.print( "FloatBuffer : " );
while ((c = cb.get()) != 0 )
System.out.print(c + "  " );
// Creating a read-only copy of ByteBuffer
// using asReadOnlyBuffer() method
ByteBuffer bb1 = bb.asReadOnlyBuffer();
// changing read-only bytebuffer into
// read-only FloatBuffer
FloatBuffer cb1 = bb1.asFloatBuffer();
// putting the value in read-only FloatBuffer
System.out.println( "Trying to put the value "
+ "in read only FloatBuffer" );
cb1.put( 2 .1F);
cb1.put( 3 .1F);
cb1.put( 4 .1F);
cb1.rewind();
}
catch (IllegalArgumentException e) {
System.out.println( "Exception thrown : " + e);
}
catch (ReadOnlyBufferException e) {
System.out.println( "Exception thrown : " + e);
}
}
}


输出:

FloatBuffer : 2.1  3.1  4.1  Trying to put the value in read only FloatBufferException thrown : java.nio.ReadOnlyBufferException

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享