常用基础类

8大基本类型

 

每个基本类型都有对应的封箱和拆箱方法,都有一个静态方法包装类.valueOf(),也有一个实例方法 xxxValue()

例如 Integer a  = 100; int b = a ;编译后 Integer a = Integer.valueOf(100); int b = a.intValue();

共同点重新了object如下方法

equals();hashCode();toString();

object默认比较的是地址,他跟 == 一样,,但是不符合逻辑,所以包装类都重写了equal方法

Long 

public boolean equals(Objec obj){

if(obj instanceof long){

return value == ((Long)obj).longValue();

return false;

}

 

float

public boolean equals(Objec obj){

return (obj instanceof float && (floatToIntBits((float)obj).value)  == floatToIntBits(value));

}

flaotToIntBits讲float的二进制看着int ,只有2个float二进制表示完全相同才会相等, doble也有静态方法doublToLongBits()

 

hashCode与equal密切相关,一般equal相等,他的hashCode也必须相等、

byte short Integer character 就是直接return (int)value

boolean则是直接返回1231(true)或者1237(false)这2个数 

long返回(int)(value^(value>>32)) 高32位于低32位进行逻辑异或

float 讲float看做二进制的int floatToIntBits(vlaue)   double 的二进制看做long  然后再高32位于低32位  Long bit = DoubleToLongBits(value) 

Comparable 

包装类实现接口,false小于true

包装类和string

除了character外都有valueOf(“”)返回包装对象,也有parseXXX(“”)返回基本对象

Number是一个抽象类,是6中数值类型的父类XXX  XXXValue();

包装类不可变,一但定义不可修改,不能被继承,

 

转载于:https://www.cnblogs.com/wakakCode/p/10686462.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值