这是基本概念的问题。int为java为数不多的基本类型之一(其它的是char、long、double、float、short等),注意它们都是小写。 而Integer是类(对象),和String、StringBuffer一样。其中新手们需要注意的一点就是对象变量之间的比较(值的比较)不能用'=='而只能用equals.而基本类型的比较就是'=='。当然Integer作为类,它就提供了更多的可以使用的方法,如parseInt(String s);toBinaryString(int i);toHexString(int i);valueOf(String s)等等很有用的方法。例: int i = 9; int j = 9; i==j is true; Integer i = new Integer(9);//产生一个新的对象; Integer j = new Integer(9);//产生一个新的对象; i==j is not true!因为他们不是同一个对象,虽然值相同。 i.equals(j) is true. 因为Integer的equals是判断两个对象的值是否相同。that's all. 根本区别:一个是基本类型;一个是对像类型。
Integer是int类型的包装器,其提供了比较、转换成字符串、将数字一个字符串解码成Integer等等很多方法,具体参考:java.lang.Integer
而Integer是类(对象),和String、StringBuffer一样。其中新手们需要注意的一点就是对象变量之间的比较(值的比较)不能用'=='而只能用equals.而基本类型的比较就是'=='。当然Integer作为类,它就提供了更多的可以使用的方法,如parseInt(String s);toBinaryString(int i);toHexString(int i);valueOf(String s)等等很有用的方法。例:
int i = 9;
int j = 9;
i==j is true;
Integer i = new Integer(9);//产生一个新的对象;
Integer j = new Integer(9);//产生一个新的对象;
i==j is not true!因为他们不是同一个对象,虽然值相同。
i.equals(j) is true. 因为Integer的equals是判断两个对象的值是否相同。that's all.
根本区别:一个是基本类型;一个是对像类型。