Integer.valueOf()和Integer.parseInt()这两个方法都是Integer的静态方法。
区别:
Integer.valueOf()和Integer.parseInt()两个方法的返回值类型不一样,Integer.valueOf()返回一个Integer类型的数据,是int的包装类;而Integer.parseInt()返回一个int类型的数据。实际上,Integer.valueOf()方法调用了Integer.parseInt方法,在外层又套上了一个装箱的操作。
自动装箱和自动拆箱:
其实自动装箱的过程就是将基本数据类型重新转化为对象
Integer num = 9;
声明一个Integer对象,这里面就用到了自动装箱,原本代码应该为:
Integer num = Integer.valueof(9);
9属于基本数据类型,原则上不能直接赋值给Integer,但在JDK1.5之后引入了自动装箱机制,就可以这样声明。
自动拆箱指的是将对象重新转化为基本数据类型,多用于运算中:
Integer num = 9;
num--;
Integer对象无法直接进行运算,所以在运算时用到了自动拆箱,转化为int才能进行运算。