7.包装类

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



猜你喜欢

转载自blog.csdn.net/qq_34242058/article/details/80347651