Java_包装类和缓冲区

Posted 小企鹅推雪球!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_包装类和缓冲区相关的知识,希望对你有一定的参考价值。

Java_包装类(Wrapper)的使用

  1. Java针对八种基本数据类型定义相应的引用类型—包装类(封装类)
  2. 有了类的特点,就可以调用类中的方法,Java才是真正的面向对象

基本数据类型包装成包装类的实例 —装箱

  1. 装箱通过包装类的构造器实现:int i = 500; Integer t = new Integer(i);
  2. 装箱:还可以通过字符串参数构造包装类对象:Float f = new Float(“4.56”);long l = new Long(“asdf”); //NumberFormatException

获得包装类对象中包装的基本类型变量 —拆箱

  1. 调用包装类的.xxxValue()方法:boolean b = bObj.booleanValue();

JDK1.5之后,支持自动装箱,自动拆箱。但类型必须匹配

字符串转换成基本数据类型:

  1. 通过包装类的构造器实现:int i = new Integer(“12”)
  2. 通过包装类的parseXxx(String s)静态方法Float f = Float.parseFloat(“12.1”);

基本数据类型转换成字符串

  1. 调用字符串重载的valueOf()方法:String fstr = String.valueOf(2.34f);
  2. 自动转换:String intStr = 5 + ""

Java_包装类实例

装箱:包装类使得一个基本数据类型的数据变成了类。有了类的特点,可以调用类中的方法。

String s = t.toString(); // s = “500“,t是类,有toString方法
String s1 = Integer.toString(314); // s1= “314“ 将数字转换成字符串。
String s2=4.56;
double ds=Double.parseDouble(s2); //将字符串转换成数字

拆箱:将数字包装类中内容变为基本数据类型。

int j = t.intValue(); // j = 500,intValue取出包装类中的数据

// 包装类在实际开发中用的最多的在于字符串变为基本数据类型。
String str1 = "30" ;
String str2 = "30.3" ;
int x = Integer.parseInt(str1) ; // 将字符串变为int型
float f = Float.parseFloat(str2) ; // 将字符串变为int型

Java_缓冲区

  1. 缓冲区(Buffers)在java.nio包中定义。 它定义了所有缓冲区通用的核心功能:限制,容量和当前位置。
  2. Java NIO缓冲区用于与NIO通道进行交互。这是写入数据的内存块,以便在稍后再次进行读取。
  3. 内存块用NIO缓冲对象包装,这样可以提供更简单的方法来处理内存块。
  4. 对于每一个原始类型,都有一个缓冲区类型,所有缓冲区都可以实现缓冲区接口,大多数使用的缓冲区类型都是ByteBuffer
  5. Java NIO中使用的核心缓冲区有CharBuffer,DoubleBuffer,``IntBuffer,LongBuffer,ByteBuffer,ShortBuffer,FloatBuffer
  6. 缓冲区覆盖了基本数据类型:characters,double,int,long,byte.short,和float
  7. NIO中,使用java.nio.Buffer类中实现的缓冲区进行数据传输。它与数组相似,具有固定的容量大小。

Java_分配缓冲区

  1. 先分配一个缓冲区,从而获取缓冲区对象,在每个Buffer类中,allocate()方法用于分配缓冲区
  2. ByteBuffer分配容量为28字节的对象:ByteBuffer buf = ByteBuffer.allocate(28);
  3. CharBuffer分配空间大小为2048个字符。CharBuffer buf = CharBuffer.allocate(2048);

从缓冲区中读取数据

  1. 通过使用get()方法之一读取Buffer中的数据。byte aByte = buf.get();

  2. 将数据从缓冲区读入通道。int bytesWritten = inChannel.write(buf);

将数据写入缓冲区

  1. 使用put方法将数据写入缓冲区
  2. 将数据从Channel写入缓冲区

以上是关于Java_包装类和缓冲区的主要内容,如果未能解决你的问题,请参考以下文章

JAVA包装类和内部类

内部类和包装器

大数据必学Java基础(四十八):包装类和日期类的讲解

java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段

Java核心类库-IO-包装流概述和缓冲流原理

java包装类和自动拆装箱