初学Java,为什么说Integer是引用数据类型

如题所述

int是JAVA八大基本数据类型(byte,shor,int,long,char,boolean,float,double)之一。JAVA语言为八大基本数据提供了包装类,Integer对应是int类型的包装类,就是把int类型包装成Object对象。  Java有2种不同的类型:引用类型和原始类型。Int是java的原始数据类型,Integer是java的为int提供的封装类。Java为每个原始类型提供了封装类。  int是基本数据类型Integer是int的一个包装类(wrapper),他是类不是基本数据类型,他的内部其实包含一个int型的数据那为什么要用Integer呢,主要是因为面向对象的思想,因为Java语言是面向对象的,这也是它只所以流行的原因之一,对象封装有很多好处,可以把属性也就是数据跟处理这些数据的方法结合在一起,比如Integer就有parseInt()等方法来专门处理int型相关的数据,另一个非常重要的原因就是在Java中绝大部分方法或类都是用来处理类类型对象的,如ArrayList集合类就只能以类作为他的存储对象,而这时如果想把一个int型的数据存入list是不可能的,必须把它包装成类,也就是Integer才能被List所接受。所以Integer的存在是很必要的。  始数据类型引用数据类型  booleanBoolean  charCharacter  byteByte  shortShort  intInteger  longLong  floatFloat  doubleDouble  引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以那种类型的数据结构存储,当引用类型和原始类型用作某个类的实例时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。  Integer类的使用方法1、属性。staticintMAX_VALUE:返回最大的整型数;staticintMIN_VALUE:返回最小的整型数;staticClassTYPE:返回当前类型。例子代码:System.out.println("Integer.MAX_VALUE:"+Integer.MAX_VALUE);结果为:Integer.MAX_VALUE:2147483647  2、构造函数。Integer(intvalue):通过一个int的类型构造对象;Integer(Strings):通过一个String的类型构造对象;例子代码:Integeri=newInteger("1234");生成了一个值为1234的Integer对象。  3、方法。说明:1.所有方法均为public;2.书写格式:[修饰符] 如:staticintparseInt(Strings)表示:此方法(parseInt)为类方法(static),返回类型为(int),方法所需参数为String类型。1.byteValue():取得用byte类型表示的整数;2.intcompareTo(IntegeranotherInteger):比较两个整数。相等时返回0;小于时返回负数;大于时返回正数。例子代码:Integeri=newInteger(1234);System.out.println("i.compareTo:"+i.compareTo(newInteger(123)));结果为:i.compareTo:13.intcompareTo(Objecto):将该整数与其他类进行比较。如果o也为Integer类,进行方法2的操作;否则,抛出ClassCastException异常。4.staticIntegerdecode(Stringnm):将字符串转换为整数。5.doubledoubleValue():取得该整数的双精度表示。6.booleanequals(Objectobj):比较两个对象。7.floatfloatValue():取得该整数的浮点数表示。8.staticIntegergetInteger(Stringnm):根据指定名确定系统特征值。9.staticIntegergetInteger(Stringnm,intval):上面的重载。10.staticIntegergetInteger(Stringnm,Integerval):上面的重载。11.inthashCode():返回该整数类型的哈希表码。12.intintValue():返回该整型数所表示的整数。13.longlongValue():返回该整型数所表示的长整数。14.staticintparseInt(Strings):将字符串转换成整数。s必须是时进制数组成,否则抛出NumberFormatException异常。15.staticintparseInt(Strings,intradix):以radix为基数radix返回s的十进制数。所谓的基数就是“几进制”。例子代码:Strings1=newString("1010");System.out.println("Integer.parseInt(Strings,intradix):"+Integer.parseInt(s1,2));结果为:Integer.parseInt(Strings,intradix):10即s1在此例中被看成是二进制,返回十进制就是10。16.shortshortValue():返回该整型数所表示的短整数。17.staticStringtoBinaryString(inti):将整数转为二进制数的字符串。18.staticStringtoHexString(inti):将整数转为十六进制数的字符串。19.staticStringtoOctalString(inti):将整数转为八进制数的字符串。20.StringtoString():将该整数类型转换为字符串。21.staticStringtoString(inti):将该整数类型转换为字符串。不同的是,此为类方法。22.staticStringtoString(inti,intradix):将整数i以基数radix的形式转换成字符串。例子代码:inti1=54321;System.out.println("Integer.toString(inti,intradix):"+Integer.toString(i1,16));结果为:Integer.toString(inti,intradix):d43123.staticIntegervalueOf(Strings):将字符串转换成整数类型。24.staticIntegervalueOf(Strings,intradix):将字符串以基数radix的要求转换成整数类型。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-21
除了基本数据类型。其他都是引用数据类型本回答被网友采纳
相似回答