包装类
Java中一切皆对象???数据类型的划分为基本数据类型和引用数据类型,但基本数据类型怎么成为对象呢?为解决这个问题,包装类就起了作用,今天内容:帮助基本数据类型解决对象问题。
基本内容
- 基本数据类型所对应的引用数据类型。
基本数据类型 | 包装类 |
---|---|
int | Integer |
char | Character |
short | Short |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
byte | Byte |
- Integer、Byte、Float、Double、Short、Long都属于Number类的子类,Numbe类本身提供了一系列的返回以上6中基本数据类型的操作。
- Character和Boolean属于Object的直接子类。
装箱与拆箱
装箱:将一个基本数据类型变为包装类的,这样的过程成为装箱操作。
拆箱:将一个包装类变为基本数据类型的过程称为拆箱操作。
int x = 30;//基本数据类型
Integer num = new Integer(x);//装箱
Integer num2 = Integer.valueOf(x);//装箱
int temp = num.intValue();//拆箱
//JDK1.5之后自动装箱和拆箱
int a = 15;
Integer b = a;//自动装箱
int c=b;//自动拆箱
自动装箱和拆箱实质:编译器编译时调用包装类的相应方法。
应用
进制转换:
public class Main {
public static void main(String[] args) {
int x=31;
String s=Integer.toString(x,16);//参数:要转化的数,进制
System.out.println("转化为16进制:"+s);
String q="1f";
int b=Integer.valueOf(q,16);//转化为十进制 参数:要转化的字符串,字符串为几进制
System.out.println("转化为10进制:"+b);
}
}
运行结果:
字符串转化为基本类型:
public class Main{
public static void main(String[] args){
String s="110";
int x=Integer.parseInt(s);
System.out.println(x);
}
}
有关整数缓冲区的问题
为了能够在遇到问题直接搜索到,这里把它写到另一篇文章中:
整数缓冲区问题
总结
-
在进行字符串与数字转换或数字与字符串之间的转换时,各个包装类提供的方法,能够起到很大的作用。
-
在JDK1.5之后,提供自动装箱及拆箱操作,不用再像之前进行手动操作,为开发者提供了更多的便利。
-
在初学包装类时,老师只是大致讲一下有关简单的方法,并没有太详细深入。再次学习,仍然能够有颇大的收获深感满足。
如有错误,欢迎指教。