CoreJava 包装类

包装类

一、概念

  1. 基本数据类型所对应的类,叫做包装类

  2. 作用:可以将数据交由Object进行统一管理

  3. 对应关系

    基本数据类型 包装类型
    byte Byte
    short Short
    char Character
    int Integer
    long Long
    float Float
    double Double
    boolean Boolean

二、类型间的转换

package com.baizhi.test;

public class TestInteger {
	public static void main(String[] args) {
//	1.基本数据 ----> 包装对象
//		①使用构造方法创建	
		Integer i1 = new Integer(10);
//		②使用静态方法创建	
		Integer i2 = Integer.valueOf(10);
//	2.包装对象 ----> 基本数据
//		使用包装类中的成员方法	
		int i3 = i1.intValue();
//	3.基本数据 ----> 字符串
//		①使用字符串拼接(拼接空串)	
		String s1 = 14 + "";
//		②使用String的静态方法		
		String s2 = String.valueOf(14);
//	4.字符串   ----> 基本数据
//		使用包装类中的静态方法		
//		注意:要求该字符串必须是由纯数字构成
		int i4 = Integer.parseInt("14");
//	5.包装对象 ----> 字符串
//		使用字符串拼接(拼接空串)	
		String s3 = 14 + "";
//	6.字符串   ----> 包装对象
//		①使用构造方法创建	
		Integer i5 = new Integer("10");
//		②使用静态方法创建	
//		注意:要求该字符串必须是由纯数字构成
		Integer i6 = Integer.valueOf("10");
	}
}

三、自动的装箱与拆箱

  1. 将基本的数据类型转换成包装类型的过程称为装箱
  2. 将包装类型转换成基本的数据类型的过程称为拆箱
  3. JDK1.5之后: 包装类型和基本数据类型之间自动转换,称为自动装箱、自动拆箱

四、Integer的缓存区

Java为了提高效率,对-128~127之间的Integer类型数据做了包装,放在常量池中

package com.baizhi.test;

public class TestInteger {
	public static void main(String[] args) {
//		-128~127之间的值有缓存,所以指向同一个对象
		Integer i1 = 127;
		Integer i2 = 127;
		System.out.println(i1 == i2);
//		-128~127之外的值没有缓存
		Integer i3 = 128;
		Integer i4 = 128;
		System.out.println(i3 == i4);
//		使用new语句创建的对象不会使用缓存区
		Integer i5 = new Integer(127);
		Integer i6 = new Integer(127);
		System.out.println(i5 == i6);
	}
}
posted on 2020-11-30 01:20  blueskylabor  阅读(85)  评论(0)    收藏  举报