普通方法:
intValue()是把Integer对象的参数 变成int的基础数据类型;
int it = new Integer().intValue();
static方法:
parseInt()是把String参数 变成int的基础数据类型;
int it = Integer.parseInt("aaa");
valueOf()是把给定的String / int参数 变成Integer的基础数据类型;
Integer itr = Integer.valueOf("aaa"); // valueOf()底层其实调用的就是new Integer();
Integer itr = new Integer("aaa");
(现在JDK版本支持自动装箱拆箱了。)
巧记:这三个方法,“方法名”中有“int”则返回int,没有int的则返回Integer。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
intValue()用法与另外两个不同:
比如:
Integer i = new Integer("123");
int j = i.intValue();
相当于强制类型转换(强制类型转换事实上就是调用的这个方法)。
intValue()是java.lang.Number类的方法,Number是一个抽象类。Java中所有的数值类都继承它。
也就是说,不单是Integer有intValue方法,Double,Long等都有此方法。
另外两个用法如下:
Integer.Valueof(),Integer.parseInt();用的是Interger类名。i.intValue()用的是对象i。
附录:
Integer a=new Integer(1);
Integer a=Integer.valueOf(1);
两个都是得到一个Integer对象,但是Integer.valueOf的效率高。