首页 > 编程知识 正文

string是基本数据类型吗,java integer和int什么区别

时间:2023-05-06 01:57:22 阅读:146775 作者:4116

Integer是int的包装类,int是基本数据类型,最大的区别是这一个是基本的数据类型,另一个是类。

但是其中有很多隐含的细节,比如:

Integer的默认初始值为null,int的默认初始值为0。 Integer变量必须先实例化。 可以直接使用int变量。 因为Integer是包装的类,所以可以使用很多方法。 (

另一方面,int是基本数据类型,只能进行基本的-*/=等操作。 两者交叉会产生很多问题

以下是Integer的使用方法和注意事项。 在:“==”和equals():Integer类中,“==”用于比较http://www.Sina.com/, integer类正在重写equals(objectobj )。首先判断参数中的对象obj是否为integer类型的对象,如果是,则判断值是否相同,如果值相同,则为true,如果值不同需要注意的是,如果参数是基本类型int,编译器将与地址是否相同进行比较。

既然提到了开箱和装箱,给int自动装箱成Integer类相反

那么什么时候运算装箱就是由基本数据类型封装成类的过程,——基本数据类型和参照数据类型时

何时将拆箱——基本数据类型分配给引用数据类型

new生成的两个Integer变量不总是相等的,因为Integer变量实际上是对一个Integer对象的引用(new生成的是两个对象,内存地址不同)。 integerI=newinteger(1; integerj=newinteger(1; system.out.print(I==j ); 比较//false Integer变量和int变量时,如果两个变量的值对等,则结果为true (比较包装器类Integer和基本数据类型int时,java会自动包装为int进行比较,实际上在比较两个int变量时system.out.print(I==j );//真

将非new生成的Integer变量与new Integer ()生成的变量进行比较时,结果为false。 内存中的地址不同,因为(非new生成的Integer变量指向java常量池中的对象,new Integer ) )生成的变量指向堆中新创建的对象。 (Integer i=new Integer(1) )1); Integer j=1; system.out.print(I==j ); //false在比较除两个new之外生成的Integer对象的情况下,两个变量的值在区间-128到127之间时为true,而在这两个变量的值不在该区间时为false

Integer i=1; Integer j=1; system.out.print(I==j ); //true Integer i=128; 英特尔j=128; system.out.print(I==j ); //falsehttp://www.Sina.com/JVM中小于1个字节的整数数据([ 128,127 ] )在JVM启动时加载到内存中,因此new Integer (中显示的创建对象除外)

如果Integer i=1,则缓存1。 然后写Integer j=1,直接从缓存中提取。 不会成为新闻。 这样取的一个地址也一样。==判断返回真。

从-128到127的范围外的数实际上由new得到,地址不同==判断为假

如果您对这一点感兴趣,请参阅本说明:

如果正在编译Integer i=100,java将被翻译为integerI=integer.valueof(100 )。 因此,关键是看valueOf () )函数。 JDK源代码的valueOf ) )如下所示:

publicstaticintegervalueof (inti ) { assert IntegerCache.high=127; if (I=integer cache.lowi=integer cache.high (returnintegercache.cache [ I (-integer cache.low ) ]; }返回新integer (I; }

Integer属性和方法:

构造函数

trong>Integer(int value)

构造一个Integer表示指定int值的新分配对象。

Integer(String s)

构造一个新分配的Integer对象,该对象表示参数int指示的值 String。

  修饰符和类型域和描述static intMAX_VALUE

保持最大值的常数int可以是2 31 -1。

static intMIN_VALUE

保持最小值的常数int可以为-2 31。

static intSIZE

用于表示int二进制补码二进制形式的值的位数。

static Class<Integer>TYPE

Class表示基本类型的实例 int。

方法摘要   修饰符和类型方法和描述static intbitCount(int i)

返回指定int值的二进制补码表示形式中的一位数。

bytebyteValue()

返回此值Integer作为 byte。

static intcompare(int x, int y)

用int数字比较两个值。

intcompareTo(Integer anotherInteger)

用Integer数字比较两个对象。

static Integerdecode(String nm)

将a解码String为Integer。

doubledoubleValue()

返回此值Integer作为 double。

booleanequals(Object obj)

将此对象与指定的对象进行比较。

floatfloatValue()

返回此值Integer作为 float。

static IntegergetInteger(String nm)

确定具有指定名称的系统属性的整数值。

static IntegergetInteger(String nm, int val)

确定具有指定名称的系统属性的整数值。

static IntegergetInteger(String nm, Integer val)

返回具有指定名称的系统属性的整数值。

inthashCode()

返回此哈希码Integer。

static inthighestOneBit(int i)

返回一个int最多只有一位的值,位于指定int值中最高位(“最左侧”)的一位 。

intintValue()

返回此值Integer作为 int。

longlongValue()

返回此值Integer作为 long。

static intlowestOneBit(int i)

返回一个int最多只有一位的值,位于指定int值中最低位(“最右侧”)一位的位置 。

static intnumberOfLeadingZeros(int i)

返回指定int值的二进制补码二进制表示中最高位(“最左侧”)一位之前的零位数。

static intnumberOfTrailingZeros(int i)

返回指定int值的二进制补码表达式中最低位(“最右侧”)一位之后的零位数 。

static intparseInt(String s)

将字符串参数解析为带符号的十进制整数。

static intparseInt(String s, int radix)

将字符串参数解析为第二个参数指定的基数中的有符号整数。

static intreverse(int i)

返回通过反转指定int 值的二进制补码二进制表示中的位顺序而获得的值。

static intreverseBytes(int i)

返回通过反转指定int值的二进制补码表示中的字节顺序获得的值。

static introtateLeft(int i, int distance)

返回通过旋转int指定位数左侧的指定值的二进制补码表示获得的值。

static introtateRight(int i, int distance)

返回通过将指定int值的二进制补码表示法向右旋转指定的位数而获得的值。

shortshortValue()

返回此值Integer作为 short。

static intsignum(int i)

返回指定int值的signum函数。

static StringtoBinaryString(int i)

返回整数参数的字符串表示形式,作为base 2中的无符号整数。

static StringtoHexString(int i)

返回整数参数的字符串表示形式,作为基数为16的无符号整数。

static StringtoOctalString(int i)

返回整数参数的字符串表示形式,作为基数为8的无符号整数。

StringtoString()

返回String表示此Integer值的对象 。

static StringtoString(int i)

返回String表示指定整数的对象。

static StringtoString(int i, int radix)

返回第二个参数指定的基数中第一个参数的字符串表示形式。

static IntegervalueOf(int i)

返回Integer表示指定int值的实例 。

static IntegervalueOf(String s)

返回包含Integer指定值的对象String。

static IntegervalueOf(String s, int radix)

返回一个Integer对象,该对象保存String使用第二个参数给出的基数解析时从指定的值中提取的值。

 

详细请看:

https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。