Java可以直接处理基本类型的数据,但是在有些情况下需要将其作为对象处理,这时需要将其转换为包装类。
一、Integer
该类对象包含了一个int类型的字段,提供多个方法在int和String类型之间转换,另外还提供了一些处理int类型的常量和方法。
另外还有Long类和Short类,包含的方法基本相同。
1.初始化
Integer num1 = 32; // 1.隐式调用构造函数 Integer num2 = new Integer(32); Integer num3 = new Integer("32"); // 2.显示调用构造函数,参数为int类型或者数值型String变量 Integer num4 = Integer.valueOf("32"); Integer num5 = Integer.valueOf(32); // 3.调用valueOf函数,参数为int类型或者数值型String变量
2.常量
MAX_VALUE:int类型的最大值 2^31-1
MIN_VALUE:int类型的最小值 -2^31
SIZE: 二进制补码形式表示int值的位数,32
TYPE: 表示基本类型int的class实例
二、Boolean
1.初始化
Boolean b1 = true; // 1.隐式调用构造函数 Boolean b2 = new Boolean("1"); Boolean B2 = new Boolean(true); // 2.显式调用构造函数,参数为boolean类型或者string类型(String参数不为NULL、忽略大小写时等于true则值为true,否则为false) Boolean b4 = Boolean.valueOf("32"); // 3.valueOf()函数,String参数不为NULL、忽略大小写时等于true则值为true,否则为false
2.常量
TRUE:对应值为true的Boolean对象
FALSE:对应值为false的Boolean对象
TYPE:基本类型boolean的Class对象
三、Byte
1.初始化
Byte a2 = 32; // 1.隐式调用构造函数 Byte a1 = new Byte("31"); byte a3 = 33; Byte a4 = new Byte(a3); // 2.显式调用一个构造函数,参数为String类型或者byte类型 Byte a5 = Byte.valueOf("35"); // 3.推荐,调用valueOf函数,参数为String或者byte类型数值
2.常量
MIN_VALUE:byte类型最小值,-128
MAX_VALUE:byte类型最大值,127
SIZE:二进制补码形式表示的byte值的位数,8
TYPE:基本类型byte的CLASS实例
四、Character
1.初始化
Character s1 = 's'; // 1.隐式调用构造方法,参数为一个char类型 Character s2 = new Character('a'); // 2.显式调用构造方法 Character s3 = Character.valueOf('b'); // 3.返回一个character对象,保存指定的string类型
2.常量
Character类提供大量表示特定字符的常量,用以表示Unicode规范中的常规类别。
五、Double
1.初始化
Double a1=3.14; //1.隐式调用构造函数,参数为double类型 Double a2=new Double(3.141); Double a3=new Double("3.1415"); //2.显式调用构造函数,参数为double类型或者String类型 Double a4=Double.valueOf(3.1415); Double a5=Double.valueOf("3.14159"); //3.valueOf函数返回一个Double类型,参数为double类型或者String类型
2.常量
Double.MAX_EXPONENT:返回一个int值,表示double的最大指数
Double.MIN_EXPONENT:返回一个int值,表示double的最小指数
Double.NEGATIVE_INFINITY:返回一个double值,表示保存double类型的负无穷大值的常量
Double.POSITIVE_INFINITY:返回一个double值,表示保存double类型的正无穷大值的常量
六、抽象类常用方法
抽象类Number是所有数字类的父类,其中提供了包装类互相转换的方法,并被各子类实现
1.包装类转换为基本类型
2.包装类赋值valueOf()
所有包装类都有该方法,已在上文中给出示例
character类中参数只能是char类型,其他包装类参数可以是对应基本类型和String类型
3.将字符串转变为基本类型parse**()
String str="123"; int num1=Integer.parseInt(str); double num2=Double.parseDouble(str); boolean num3=Boolean.parseBoolean(str); //parseBoolean()参数不为true(不区分大小写),则返回值均为False
4.将包装类转换为String类型toString()
Integer num1=32; Byte num2=33; Character num3='s'; Boolean num4=true; String str1=num1.toString(); String str2=num2.toString(); String str3=num3.toString(); String str4=num4.toString(); //经实验,亦可以直接通过类调用toString()方法,用参数赋值
5.比较两个对象是否相等equals(Object Obj)
返回一个Boolean值
Integer num1=Integer.valueOf(33); Integer num2=Integer.valueOf(34); Boolean result=num1.equals(num2);
6.比较两个对象的大小compareTo(Object Obj)
Boolean类没有该方法,该方法返回一个int值
形如Obj1.compareTo(Obj2);
若Obj1等于Obj2,返回0;
若Obj1大于Obj2,返回一个正数;
若Obj1等于Obj2,返回一个负数;
Integer num1=Integer.valueOf(33); Integer num2=Integer.valueOf(34); int flag=num1.compareTo(num2);
参考博客及书籍:
《Java从入门到精通》
https://blog.csdn.net/wwp231/article/details/52281541