12.JAVA-基本数据类型的包装类操作
程序员文章站
2022-07-01 23:15:48
1.基本数据类型的包装类 java是一个面向对象编程语言,也就是说一切操作都要用对象的形式进行.但是有个矛盾: 基本数据类型(char,int,double等)不具备对象特性(不携带属性和方法) 这样非面向对象的基本数据类型,由于没有附带对象方法,比如没有toString(),则会给用户带来非常不便 ......
1.基本数据类型的包装类
java是一个面向对象编程语言,也就是说一切操作都要用对象的形式进行.但是有个矛盾:
- 基本数据类型(char,int,double等)不具备对象特性(不携带属性和方法)
这样非面向对象的基本数据类型,由于没有附带对象方法,比如没有tostring(),则会给用户带来非常不便.
所以从jdk1.0开始,java专门给出了8种基本数据类型的包装类,如下所示:
类型 |
基本数据类型名 |
对应的包装类名 |
布尔型 |
boolean |
boolean |
字符型 |
char |
character |
短整型 |
short |
short |
整型 |
int |
integer |
长整型 |
long |
long |
单精度浮点型 |
float |
float |
双精度浮点型 |
double |
double |
2.包装类之string转换操作
在基本数据类型的8个包装类中,一共有7个类都定义了xxx(string s)构造方法和parsexxx(string s)方法,它们功能就是实现将字符串变为指定xxx类型的数据,只有character类没有,因为它本身就是字符类,
并且所有包装类,都实现了tostring()方法
3.包装类的装箱和拆箱操作
- 装箱操作 : 将基本数据类型变为包装类
- 拆箱操作 : 将包装类中的数据取出到基本数据中
ps: java包装类提供自动装箱和自动拆箱机制,能够直接对包装类对象进行数学计算
示例-double与double之间的操作
//手动装箱 double obj1 = new double("1.234"); double obj2 = new double(1.234); system.out.println(obj1.equals(obj2)); //打印true system.out.println(obj1==obj2); //打印false,因为obj1和obj2的地址不同 system.out.println(obj1*2); //直接进行数学计算, 打印2.468 //自动装箱 double obj3 = 12.3; //等价于double obj2 = new double(12.3); //自动拆箱 double d = obj3; //d = 12.3 //手动拆箱 d = obj3.doublevalue() ; //d = 12.3
4.利用object类来接收所有包装类
由于包装类的超类都是object,所以我们可以通过object参数,便能实现所有包装类的一致性
示例如下:
public class test { public static void print(object obj) //打印所有包装类的信息 { system.out.println(obj.tostring()); } public static void main(string args[]){ boolean obj1 = true; integer obj2 = 10; double obj3 = 1.234; print(obj1); print(obj2); print(obj3); } }
未完待续