Java学习之路(十二)常用工具类之包装类

本文详细介绍了Java中基本数据类型与对应的包装类,并解释了装箱与拆箱的过程,对比了包装类对象间的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本数据类型及其包装类

基本类型对应的包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

PS. 数值型包装类继承于Number,字符型和布尔型继承于Object

二、常用方法

方法说明举例
typeValue()生成对象基本值obj.intValue();
parseType(String str)将字符串转换成基本值Integer.parseInt(str);
valueOf(String str)将字符串转换成基本值Integer.valueOf(str);
toString()生成字符串表示法obj.toString();
hashCode()生成哈稀表代表obj.hashCode();
equals(obj)对同一个类的两个对象进行比较obj1.equals(obj2);

PS.

  1. 例子中的obj是Integer obj

  2. 包装类的构造方法可接收基本数据类型或字符串为参数

    // 基本数据类型为参
    Integer obj = new Integer(2);
    
    // 字符串为参
    Integer objStr = new Integer("2");
    
  3. parseType()与valueOf()方法的不同点在于,parseType()会直接返回数值,但valueOf()不同,它是先将字符串转换成包装类,再通过自动拆箱完成基本类型转换,也就是valueOf返回的是包装类对象。

三、装箱与拆箱

装箱:基本数据类型 => 包装类

// 自动装箱
Integer i2 = 2;

// 手动装箱
Integer integer2 = new Integer(2);

拆箱:包装类 => 基本数据类型

// 自动拆箱
int i = integer1;

// 手动拆箱
int i2 = integer2.intValue();

四、包装类对象的比较

	public static void main(String[] args) {
		
		Integer integer = 100;
		Integer integer2 = 100;
		Integer integer3 = 200;
		Integer integer4 = 200;
		System.out.println(integer == integer2);	// output: true
		System.out.println(integer3 == integer4);	// output: flase
		
		Double double1 = 100.0;
		Double double2 = 100.0;
		Double double3 = 200.0;
		Double double4 = 200.0;
		System.out.println(double1 == double2);		// output: false
		System.out.println(double3 == double4);		// output: flase
		
		Boolean boolean1 = true;
		Boolean boolean2 = true;
		System.out.println(boolean1 == boolean2);	// output: true
	}

结论:

  1. 如果是Integer对象,在[-128, 127]之间不会创建新Integer对象。
  2. 如果是Double对象,无影响,其对象引用均不相等。
  3. 如果是Boolean对象,无影响,其对象引用均相等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值