java包装类--Numbers抽象类,Character类

Number 类属于 java.lang 包。
在实际开发过程中,经常会遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java 语言为每一个内置数据类型提供了对应的包装类。所有的包装类 (Integer, Long, Byte, Double, Float, Short,Character,Boolean) 是抽象类Number的子类。
这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。
Java 会对 -128 ~ 127 的整数进行缓存,所以当定义两个变量初始化值位于 -128 ~ 127 之间时,两个变量使用了同一地址;
当两个 Integer 变量的数值超出 -128 ~ 127 范围时, 变量使用了不同地址。
装箱和拆箱请看实例:

public static void main(String[] args) {
		int a = 123;
		int b = 123;
		System.out.println(a == b);
		Integer c = 123;
		Integer d = 123;
		System.out.println(c == d);
		//Java 会对 -128 ~ 127 的整数进行缓存,所以当定义两个变量初始化值位于 -128 ~ 127 之间时,两个变量使用了同一地址
		System.out.println(c.equals(d));
		Integer e = 1234;
		Integer f = 1234;
		System.out.println(e == f);
		Integer g = 1234; // 装箱,装箱就是自动将基本数据类型转换为包装器类型
		g = g + 2; // 拆箱,拆箱就是自动将包装器类型转换为基本数据类型。
		System.out.println(g);
	}

运行结果:

true
true
true
false
1236

Character 类在对象中包装一个基本类型 char 的值,可以使用Character的构造方法创建一个Character类对象,使用Character类提供的一系列方法来操纵字符

char a = 'a';
	char[] b = {'a', 'b','c'};
	Character c = new Character('a'); // java9 已移除
    Character d = 'a';   // 装箱,原始字符 'a' 装箱到 Character 对象 d 中
	

猜你喜欢

转载自blog.csdn.net/qq_33699659/article/details/84571813