Java 自动拆装箱总结

Java面向对象 专栏收录该内容
34 篇文章 2 订阅

包装类的自动拆装箱:(我们拿int类型为例)

首先我们要知道,Integer是int的包装类,Integer是一个对象,int是一个基本数据类型。

JDK1.5版本推出了一个特性:自动拆装箱,该特性是编译器认可的,当我们在基本类型和与其对应的引用类型之间相互赋值时,编译器会自动补全代码在两者之间进行转换。

1、要想将int基本数据类型转换为包装类Integer

Integer i1 = Integer.valueOf(int i);

2、要想将Integer对象转换为基本类型int

int i = Integer.intValue(Integer i1);

3、我们举一个自动拆装箱的例子:

public static void main(String[] args) {
	/*
	 * 触发了编译器的自动拆箱特性:
	 * 编译器会补全代码,将包装类转换为
	 * 基本类型。
	 * 下面的代码会被编译器补充代码为:
	 * int d = new Integer(1).intValue();
	 */
	int d = new Integer(1);
	/*
	 * 触发自动装箱特性,编译器会补充代码
	 * Integer i = Integer.valueOf(d);
	 */
	Integer i = d;
}

4、下面我们来总结一下常用的转换方法:(以int为例)

我们这里需要转换的就是intIntegerString之间的转换:

1)int转换为String:( toString方法)

int i = 5;
String str = i.toString(); 

2)Integer转换为String:(toString方法)

Integer i = Integer.valueOf(5);
String str = i.toString();

3)String转换为Integer:(Integer.valueOf方法)

Integer i = Integer.valueOf("123");

4)String转换为int:(Integer.parseInt方法)

int i = Integer.parseInt("123");

5)int转换为Integer:(Integer.valueOf方法)

Integer i = Integer.valueOf(123);

6)Integer转换为int:(Integer.intValue方法)

int i = Integer.intValue(123);

总结:

其实String也有提供了一个valueOf的静态方法,是将给定的内容转换为字符串,而Integer所提供的valueOf方法也是如此,是将int值或String转换为Integer的一种方法,这样比较好记,一点想让其他值转换为Integer,不论是String还是基本类型int值(也是装箱的一个过程)就调用Integer.valueOf(),即可,若想要将Integer向int转换则提供了Integer.intValue方法,如果String转int则用的是Integer.parseInt方法,最后不论是int还是Integer想转换为String都调用toString即可。

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 黑客帝国 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值