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工具网。
推荐阅读: