java.nio.FloatBuffer类的duplicate()方法用于创建共享给定缓冲区内容的新浮点缓冲区。

新缓冲区的内容就是该缓冲区的内容。对该缓冲区内容的更改将在新缓冲区中可见,反之亦然;这两个缓冲区的位置,限制和标记值将是独立的。

新缓冲区的容量,限制,位置和标记值将与此缓冲区相同。当且仅当该缓冲区是直接缓冲区时,新缓冲区才是直接缓冲区;当且仅当该缓冲区是只读缓冲区时,新缓冲区才是只读缓冲区。

用法:

public abstract FloatBuffer duplicate()

返回值:此方法返回新的float缓冲区,该缓冲区带有先前的float缓冲区内容

下面是说明duplicate()方法的示例:

范例1:使用直接floatbuffer

// Java program to demonstrate

// duplicate() method

// Using direct floatbuffer

import java.nio.*;

import java.util.*;

public class GFG {

public static void main(String[] args)

{

// Declaring the capacity of the FloatBuffer

int capacity = 10;

// Creating the FloatBuffer

try {

// creating object of floatbuffer

// and allocating size capacity

FloatBuffer fb1 = FloatBuffer.allocate(capacity);

// putting the value in floatbuffer

fb1.put(8.56F);

fb1.put(2, 9.61F);

fb1.rewind();

// print the Original FloatBuffer

System.out.println("Original FloatBuffer:  "

+ Arrays.toString(fb1.array()));

// Creating a duplicate copy of FloatBuffer

// using duplicate() method

FloatBuffer fb2 = fb1.duplicate();

// print the duplicate copy of FloatBuffer

System.out.print("\nDuplicate FloatBuffer: "

+ Arrays.toString(fb2.array()));

}

catch (IllegalArgumentException e) {

System.out.println("IllegalArgumentException catched");

}

catch (ReadOnlyBufferException e) {

System.out.println("ReadOnlyBufferException catched");

}

}

}

输出:

Original FloatBuffer: [8.56, 0.0, 9.61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

Duplicate FloatBuffer: [8.56, 0.0, 9.61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

范例2:使用read-onlyfloatbuffer

// Java program to demonstrate

// duplicate() method

// using read-onlyfloatbuffer

import java.nio.*;

import java.util.*;

public class GFG {

public static void main(String[] args)

{

// Declaring the capacity of the FloatBuffer

int capacity = 10;

// Creating the FloatBuffer

try {

// creating object of floatbuffer

// and allocating size capacity

FloatBuffer fb1 = FloatBuffer.allocate(capacity);

// putting the value in floatbuffer

fb1.put(8.56F);

fb1.put(2, 9.61F);

fb1.rewind();

// print the Original FloatBuffer

System.out.println("Original FloatBuffer:  "

+ Arrays.toString(fb1.array()));

// Creating a read-only copy of FloatBuffer

// using asReadOnlyBuffer() method

FloatBuffer readonly = fb1.asReadOnlyBuffer();

// print the read-only copy of FloatBuffer

System.out.print("\nread-only FloatBuffer:  ");

while (readonly.hasRemaining())

System.out.print(readonly.get() + ", ");

System.out.println("");

// Rewinding the readonly FloatBuffer

readonly.rewind();

// Creating a duplicate copy of FloatBuffer

// using duplicate() method

FloatBuffer fb2 = readonly.duplicate();

// print the duplicate copy of FloatBuffer

System.out.print("\nduplicate copy of read-only FloatBuffer:  ");

while (fb2.hasRemaining())

System.out.print(fb2.get() + ", ");

System.out.println("");

}

catch (IllegalArgumentException e) {

System.out.println("IllegalArgumentException catched");

}

catch (ReadOnlyBufferException e) {

System.out.println("ReadOnlyBufferException catched");

}

}

}

输出:

Original FloatBuffer: [8.56, 0.0, 9.61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

read-only FloatBuffer: 8.56, 0.0, 9.61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,

duplicate copy of read-only FloatBuffer: 8.56, 0.0, 9.61, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,

java的duplicate用法_Java FloatBuffer duplicate()用法及代码示例相关推荐

  1. java 四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  2. java四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  3. Android Java使用JavaMail API发送和接收邮件的代码示例

    JavaMail是Oracle甲骨文开发的Java邮件类API,支持多种邮件协议,这里我们就来看一下Java使用JavaMail API发送和接收邮件的代码示例 使用Javamail发送邮件,必需的j ...

  4. java isempty用法_Java ArrayList isEmpty() 使用方法及示例

    Java ArrayList isEmpty() 使用方法及示例 Java ArrayList isEmpty()方法用于检查arraylist是否为空. 该isEmpty()方法的语法为: arra ...

  5. java并发编程代码示例_java并发编程之同步器代码示例

    java并发编程之同步器代码示例 发布时间:2020-09-08 16:53:41 来源:脚本之家 阅读:58 作者:Blessing_H 同步器是一些使线程能够等待另一个线程的对象,允许它们协调动作 ...

  6. java touch创建文件_Java FileUtils.touch方法代碼示例

    本文整理匯總了Java中org.apache.commons.io.FileUtils.touch方法的典型用法代碼示例.如果您正苦於以下問題:Java FileUtils.touch方法的具體用法? ...

  7. java使用drawtext重叠_Java Graphics.drawText方法代碼示例

    本文整理匯總了Java中org.eclipse.draw2d.Graphics.drawText方法的典型用法代碼示例.如果您正苦於以下問題:Java Graphics.drawText方法的具體用法 ...

  8. java nio keyiterator.remove()_Java SelectionKey.isValid方法代碼示例

    本文整理匯總了Java中java.nio.channels.SelectionKey.isValid方法的典型用法代碼示例.如果您正苦於以下問題:Java SelectionKey.isValid方法 ...

  9. java结束全部操作代码_Java创建与结束线程代码示例

    这篇文章主要介绍了Java创建与结束线程代码示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考. 本文讲述了在Java中如何创建和结束线程的最基本方法,只针对于Java初学者.一些高级知识如线程 ...

  10. java创建线程代码_Java创建与结束线程代码示例

    本文讲述了在Java中如何创建和结束线程的最基本方法,只针对于Java初学者.一些高级知识如线程同步.调度.线程池等内容将会在后续章节中逐步深入. 创建线程 创建普通线程有两种方式,继承Thread类 ...

最新文章

  1. Linux的用户和用户组管理
  2. python零基础入门教材-python如何零基础学习,如何入好门?
  3. C++fibonacci斐波那契数列,自下而上(附完整源码)
  4. [蓝桥杯2016初赛]交换瓶子
  5. HTML+CSS+JS实现 ❤️卡通湖面上日出动画特效❤️
  6. Spring框架 IOC
  7. 女人最想从男人那里得到什么?
  8. C语言之结构体和共用体
  9. JBOSS 5.0.0GA的集群搭建
  10. python---之np.cumprod np.cumsum 累乘 累加
  11. printk与日志优先级设置
  12. 购物车html js代码,js实现购物车功能
  13. linux UART(RS232/485)驱动实验
  14. 如何删除服务中不存在在服务
  15. jszip打包下载文件
  16. win7计算机怎么录屏,怎么用win7系统的电脑录屏
  17. 评价指标MSE和AUC的参考文献
  18. MATLAB电话拨号音仿真,MATLAB电话拨号音的合成与识别
  19. 思迪博软件在2021 Gartner主数据管理解决方案 魔力象限中被评为挑战者
  20. Dojo mobile TweetView 系列教程之三——Tweets和Mentions视图

热门文章

  1. eWebEditor授权序列号
  2. CNN卷积神经网络误差反传推导
  3. 可以观看CCTV-5高清直播的网站-天天直播
  4. 常见计算机病毒种类及特征介绍与分析
  5. 微信素材管理,新增临时素材
  6. 学计算机选择师范类好吗,师范教育类专业和计算机类专业,两者相比,哪个更适合自考生报读...
  7. linux 网络速度非常慢,解决Ubuntu 10.04上网速度慢的问题
  8. RFID 有源,半源和无源的区别
  9. Hinton最新访谈丨他如何看待谷歌胶囊网络专利、神经科学以及下一代AI?
  10. 电路设计_STM8S003F3P6 AWUADC使用小结