第一种方法:i=Integer.parseInt(s); 直接使用静态方法,不会产生多余的对象,出错时会抛出异常第二种方法:i=Integer.valueOf(s).intValue(); Integer.valueOf(s) 相当于 new Integer(Integer.parseInt(s)),多产生一个Integer对象,也会抛异常。 从源代码上理解两者会不会产生多余对象:从两函数返回值上就可以看出不同。