Java基础笔记(12)基本类型的包装器类

Java笔记(11)包装器类

1.包装类

为了让基本类型可以进行更多的操作,Java分别对不同基本类型实现了其对应的包装器类,用于完成其的一些功能操作;

	byte	->		Byte
	short	->		Short
	int		->		Integer
	long	->		Long
	float	->		Float
	double	->		Double
	char	->		Char
	boolean	->		Boolean
2.Integer

Integer类是基本类型int的包装器类,是抽象类Number类的子类;里面包装了一个int类型的值;

Integer的构造方法:
  Integer i = new Integer(100);
  Integer i = new Integer(“100”);

int和String的相互转换:
int -> String: String.valuerOf(“100”);
String -> int: Integer.paserInt(“100”);//这里的字符串必须是数字,否则运行会报错

Integer的JDK5新特性:自动装箱和自动拆箱
装箱,就是把基本类型转为引用类型,例如:

Integer a = new Integer(99);

拆箱,就是把引用类型转为基本类型,例如:

int b = a.intValue();	//这里调用了Integer对象的intValue方法,将Integer转为int类型

而自动装箱就相当于下面这样:

Integer a = 98;

本质上是编译器做了优化在上面这个操作里做了隐式调用valueOf()方法,由于不用我们手动去进行基本类型向包装器类型的转换,因此称为自动装箱;

自动拆箱:

Integer b = 128;
int d = b;

和自动装箱原理一样,编译器编译后自动加上了intValue()方法,无需我们手动拆箱;

Integer的小问题:

Integer a = 100;
Integer b = 100;
Integer c = 200;
Integer d = 200;
int e = 100;
int f = 200;
a == b;//true
c == d;//false
a == e;//true
d == f;//true

由于==用在比较引用类型的时候,一般都是比较的其对象是否相同,因此理想中
"a == b"应该是false,但结果是true,其实是因为Interger里面定义了一个内部缓存类,里面有一个缓存数组,存储了(-128 ----- 127)范围的数值,如果Interger接收的数据在这个范围里面,就不用再创建对象,直接拿这个值的引用即可,类似于String类的字符串常量池;
而“a == e”和"d == f "是自动拆箱,在比较的时候a和d都做了自动拆箱,因此相当于两个int类型的基本类型在比较,比较的就是值,自然是true;

3.Character

如同Integer一样,Character是char类型的包装器类,在Java中,八大基本类型都有其对应的包装器类;
Character构造方法:
  Character ch = new Character(‘a’);

Character类主要成员方法:

 · public static boolean isUpperCase(char ch):判断给定的字符是否是大写字符       
 · public static boolean isLowerCase(char ch):判断给定的字符是否是小写字符       
 · public static boolean isDigit(char ch):判断给定的字符是否是数字字符       
 · public static char toUpperCase(char ch):把给定的字符转换为大写字符       
 · public static char toLowerCase(char ch):把给定的字符转换成小写字符
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值