包装类
1.为什么要使用包装类?
为了使得基本数据类型的变量具备引用数据类型变量的相关特征(比如:封装性、继承性、多态性),我们给各个基本数据类型的变量都提供了对应的包装类。
2。(掌握基本数据类型对应的包装类类型
number
byte -> Byte
short -> Short
int -> Integer
long -> Long
float -> Float
double ->Double
char -> Character
boolean -> Boolean
3.掌握基本数据类型与 包装类之间的转换。
3.1 为什么需要转换
一方面,在有些场景下,需要使用基本数据类型对应的包装类的对象。此时就需要将基本数据类型的变量转换为包装类的对象。比如:ArrayList的add(object obj);0bject类的equals(object obj)
对于包装类来讲,既然我们使用的是对象,那么对象是不能进行+ · /等运算的。为了能够进行这些运算,就需要将包装类的对象转换为基本数据类型的变量。
3.2 如何转换:
基本数据类型---> 包装类: 使用包装类的造 (建议)用包类valueof(xxx xx)
包装类 --->基本数据类型: 调用包类的xxxValue()
注意:原来使用基本数据类型变量的位置,改成包装类以后,对于成员变量来说,其默认值变化了
package Test0616;
import Test02.Account;
import java.awt.geom.Arc2D;
import java.util.Scanner;
public class WrapperTest {
public static void main(String[] args) {
WrapperTest w1 = new WrapperTest();
w1.test1();
w1.test2();
w1.test3();
w1.test4();
}
/**
* 基本数据类型---> 包装类: @ 使用包装类的造 @ (建议)用包类valueof(xxx xx)
* 包装类 --->基本数据类型 调用包类的xxxValue()
*/
public void test4(){
//自动装箱: 基本数据类型 --->包装类
int i1 = 10;
Integer ii1 = i1;
System.out.println(ii1.toString());
Integer ii2 = i1 + 1;
Boolean bb1 = true;//自动装箱
Float f1 = 12.3F;//自动装箱
//自动拆箱:包装类的 ---》基本数据类型
int i2 = ii1;//自动拆箱
boolean b1 = bb1;//自动拆箱
}
public void test3(){
Account1 account = new Account1();
System.out.println(account.isFlag1);//false
System.out.println(account.isFlag2);//null
System.out.println();
}
public void test2(){
Integer ii1 = new Integer(10);
int i1 = ii1.intValue();
i1 = i1+1;
Float ff1 = new Float(12.3F);
float f1 = ff1.floatValue();
Boolean bb1 = Boolean.valueOf(true);
boolean b1 = bb1.booleanValue();
System.out.println();
}
public void test1(){
int i1 = 10;
Integer ii1 = new Integer(i1);
System.out.println(ii1.toString());
float f1 = 12.3f;
Float ff1 = new Float(f1);
System.out.println(ff1.toString());
boolean b1 = true;
boolean b2 = false;
String b3 = "123";
Boolean bb1 = new Boolean(b1);
Boolean bb2 = new Boolean(b2);
Boolean bb3 = new Boolean(b3);
System.out.println(bb1);
System.out.println(bb2);
System.out.println(bb3);
String s1 = "32.1";
Float ff2 = new Float(s1);
System.out.println();
}
}
class Account1{
boolean isFlag1;
Boolean isFlag2;
double balance1;//0.0
Double balance2;//null 0.0
}