疯狂Java讲义_04_基本类型的包装类(Wrapper Class)

8种基本类型对应的包装类

基本类型包括整数类型(byte,short,int,long),字符类型 char,浮点类型(float、double),布尔类型 boolean

基本数据类型包装类
byte 1字节 -128(-2^7) ~ 127(2^7 -1)Byte
short 2字节 0x8000(-2^15) ~ 0xffff(2^15 - 1)Short
int 4字节 0x80000000(-2^31) ~ 0xffffffff(2^31 -1)Integer
long 8字节Long
char 2字节Character
float 4字节Float
double 8字节Double
boolean (没强制指定,一般是 1字节)Boolean

装箱 与 拆箱

以Integer为例,

装箱:将基本类型转换为包装类

Integer i1 = new Integer(10);
Integer i2 = Integer.valueOf(10);//推荐,带有缓存

拆箱:将包装类转换为基本类型

int val = i1.intValue();

jdk1.5后,提供自动装箱(Autoboxing)和自动拆箱(AutoUnboxing)

Integer i1 = 10;
int value = i1;

String对象 <–> 基本类型变量

String --> int 等 :

int Integer.parseInt(String str)

int 等 --> String

String String.valueOf(int val)  
或者  10 + “”;

当然,可以构造为Integer,然后自动拆箱;这样就麻烦了。。

String <–> 包装类

String --> Integer

Integer i1 = new Integer("12");
// 或者 
Integer i1 = Integer.valueOf("12")

包装类 --> String

String str = 任何对象.toString();

例子:

		// String --> Integer
        Integer i1 = Integer.valueOf("12");//12
        // Integer --> String
        String str = i1.toString();//"12"

        // int --> Integer
        Integer i2 = 12;//这是自动装箱  还可以手动    Integer i2 = Integer.valueOf(12);
        // Integer --> int
        int val = i2;//这是自动拆箱  还可以手动     int val = i2.intValue();

        // String -->int
        int i3 = Integer.valueOf("12");//12 这是 String --> Integer 后自动拆箱 -> int
        int i4 = Integer.parseInt("12");//12  直接使用 Integer 的 static函数 更便捷。
        // int --> String
        String str2 = i3 + "";//数和String加,自动变为String
        String str3 = String.valueOf(12);//"12"

重写equals方法

	//重写equals方法
	public boolean equals(Object obj){
		if(this == obj)
			return true;
		if(obj != null && obj.getClass() == Person.class){
			Person p = (Person)obj;
			if(this.getIdStr().equals(p.getIdStr())
				return true;
		}
		return false;
	}

如果有必要,重写 Object类的 hashcode和 equals方法。 equals方法以关键 Field来作为判断两个对象是否相等的标准, 除此之外,还应该保证两个用 equals方法判断为相等的对象的 hashcode也相等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值