java中拆箱与装箱的含义?包装类的基本信息

java的学习是一个漫长又复杂的过程,今天就带大家一起来了解一下,java中拆箱与装箱的含义,以及包装类的一些基本信息。

首先,看一下拆箱和装箱的基本概念。

1.装箱:将基本数据类型封装为包装类对象,利用每一个包装类提供的构造方法实现装箱操作。2.拆箱:将包装类中包装的基本数据类型数据取出。下面是它们的操作代码:

// 装箱
Integer integer1 = new Integer(1);
// 拆箱
int integer2 = integer1.intValue();

需要注意的是,JDK1.5之后提供自动拆装箱,下面是代码展示:

// 自动装箱
Integer integer1 = 1;
// 自动拆箱
int integer2 = integer1;

另外,关于自动装箱的内存复用还有一些信息。自动装箱时,对于Integer var= ?,如果var指向的对象在-128至127范围内的赋值时,生成的Integer实例化对象是由IntegerCache.cache()方法产生,它会复用已有对象。但是对于手动装箱,也就是采用new进行包装类创建时,不会发生内存复用。因为new关键字每次使用,都会开辟新的空间,这和String采用构造方法创建字符串不入池相对应。

然后再来看一下包装类的基本信息。

1.编码规约:所有的相同类型的包装类对象之间值的比较,全部使用equals()方法。所有的POJO(简单Java类,只包含基本属性,有参构造,get/set)类属性必须使用包装类数据类型,类属性也就是static属性。RPC(远程方法调用)方法返回值和参数必须使用包装数据类型。建议所有的局部变量使用基本数据类型。

2.对字符串与基本数据类型转换的支持,在实际工程中,各种数据的接收通常是通过字符串完成的,所以要掌握包装类对字符串转换的方法。具体代码展示如下:

// String->int
public static int parselnt(String s) throws NumberFormatException;
// String->double 
public static double parseDouble(String) throws NumberFormatException;
// String->Boolean 
public static boolean parseBoolean(String s)

需要注意的是,字符串转数值类型时字符串只能包含数字,否则会抛出NumberFormatException异常,这是一个非受查异常。不过,字符串转Boolean是个特例,parseBoolean()方法会将”true”转为true,而将非”true”的字符串转为false。

以上就是有关java中拆箱与装箱的含义以及包装类的基本信息的大致内容了。想要了解更多java常见问题,敬请关注奇Q工具网。

推荐阅读:

java包装类的概念是什么?包括哪些?

java正则表达式匹配字符串如何编写?

javascript将字符串字母转换为大小写字母