Java_包装类和缓冲区
Posted 小企鹅推雪球!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java_包装类和缓冲区相关的知识,希望对你有一定的参考价值。
Java_包装类(Wrapper)的使用
- Java针对八种基本数据类型定义相应的引用类型—包装类(封装类)
- 有了类的特点,就可以调用类中的方法,Java才是真正的面向对象
基本数据类型包装成包装类的实例 —装箱
- 装箱通过包装类的构造器实现:
int i = 500; Integer t = new Integer(i);
- 装箱:还可以通过字符串参数构造包装类对象:
Float f = new Float(“4.56”);long l = new Long(“asdf”); //NumberFormatException
获得包装类对象中包装的基本类型变量 —拆箱
- 调用包装类的
.xxxValue()方法:boolean b = bObj.booleanValue();
JDK1.5之后,支持自动装箱,自动拆箱。但类型必须匹配
字符串转换成基本数据类型:
- 通过包装类的构造器实现:
int i = new Integer(“12”)
- 通过包装类的
parseXxx(String s)
静态方法Float f = Float.parseFloat(“12.1”);
基本数据类型转换成字符串
- 调用字符串重载的valueOf()方法:
String fstr = String.valueOf(2.34f);
- 自动转换:
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_缓冲区
- 缓冲区(Buffers)在java.nio包中定义。 它定义了所有缓冲区通用的核心功能:限制,容量和当前位置。
- Java NIO缓冲区用于与NIO通道进行交互。这是写入数据的内存块,以便在稍后再次进行读取。
- 内存块用NIO缓冲对象包装,这样可以提供更简单的方法来处理内存块。
- 对于每一个原始类型,都有一个缓冲区类型,所有缓冲区都可以实现缓冲区接口,大多数使用的缓冲区类型都是
ByteBuffer
- Java
NIO
中使用的核心缓冲区有CharBuffer
,DoubleBuffer,``IntBuffer
,LongBuffer
,ByteBuffer
,ShortBuffer
,FloatBuffer
- 缓冲区覆盖了基本数据类型:
characters
,double
,int
,long
,byte
.short
,和float
- 在
NIO
中,使用java.nio.Buffer
类中实现的缓冲区进行数据传输。它与数组相似,具有固定的容量大小。
Java_分配缓冲区
- 先分配一个缓冲区,从而获取缓冲区对象,在每个
Buffer
类中,allocate()
方法用于分配缓冲区 ByteBuffer分配容量为28字节的对象
:ByteBuffer buf = ByteBuffer.allocate(28);
CharBuffer分配空间大小为2048
个字符。CharBuffer buf = CharBuffer.allocate(2048);
从缓冲区中读取数据
-
通过使用
get()
方法之一读取Buffer中的数据。byte aByte = buf.get();
-
将数据从缓冲区读入通道。
int bytesWritten = inChannel.write(buf);
将数据写入缓冲区
- 使用
put
方法将数据写入缓冲区 - 将数据从
Channel
写入缓冲区
以上是关于Java_包装类和缓冲区的主要内容,如果未能解决你的问题,请参考以下文章
java缓冲字符字节输入输出流:java.io.BufferedReaderjava.io.BufferedWriterjava.io.BufferedInputStreamjava.io.(代码片段