Java Integer类Api
成员变量
- MAX_VALUE
public static final int MAX_VALUE
最大的int,2^31-1
- MIN_VALUE
public static final int MIN_VALUE
最小的int,-2^31
常见方法概述
比较相关
返回值 | 内容 | 描述 |
---|---|---|
static int | compare(int x, int y) | 比较两个 int 数字值。 |
int | compareTo(Integer anotherInteger) | 数字比较两个 Integer 对象。 |
static int | compareUnsigned(int x, int y) | 比较两个 int 值,以数值方式将值视为无符号。 |
boolean | equals(Object obj) | 将此对象与指定的对象进行比较。 |
static String | toString() | 返回一个 String 指定整数的 String 对象。 |
转化相关
Integer转其他类型
返回值 | 内容 | 描述 |
---|---|---|
byte | byteValue() | 返回此值 Integer 为 byte 的基本收缩转换后。 |
double | doubleValue() | 返回此值 Integer 为 double 一个宽元转换后。 |
float | floatValue() | 返回此值 Integer 为 float 一个宽元转换后。 |
int | intValue() | 将 Integer 的值作为 int 。 |
long | longValue() | 返回此值 Integer 为 long 一个宽元转换后。 |
short | shortValue() | 返回此值 Integer 为 short 一个宽元转换后。 |
其他类型转Integer
返回值 | 内容 | 描述 |
---|---|---|
static int | parseInt(String s) | |
static Integer | valueOf(String s) | 返回一个 Integer 对象,保存指定的值为 String 。 |
static Integer | valueOf(整形浮点型 i) | 返回一个 Integer 指定的 整形浮点型 值的 Integer 实例。 |
其他
返回值 | 内容 | 描述 |
---|---|---|
static int | sum(int a, int b) | 根据+运算符将两个整数相加。 |
int | max(int a, int b) | 返回两个 int 的较大值,就像调用 |
int | min(int a, int b) | 返回两个 int 的较小值,就像调用 |
static int | reverse(int i) | 返回由指定的二进制补码表示反转位的顺序而获得的值 int 值。 |
static int | reverseBytes(int i) | 返回反转指定的二进制补码表示的字节顺序而获得的值 int 值。 |
方法详细信息
文章目录
- Java Integer类Api
- 成员变量
- 常见方法概述
- 方法详细信息
- toString
- toUnsignedString
- toHexString
- toOctalString
- toBinaryString
- toString
- toUnsignedString
- parseInt
- parseUnsignedInt
- valueOf
- valueOf
- valueOf
- byteValue
- shortValue
- intValue
- longValue
- floatValue
- doubleValue
- toString
- hashCode
- hashCode
- equals
- compareTo
- compare
- compareUnsigned
- toUnsignedLong
- divideUnsigned
- remainderUnsigned
- highestOneBit
- lowestOneBit
- numberOfLeadingZeros
- numberOfTrailingZeros
- bitCount
- rotateLeft
- rotateRight
- reverse
- signum
- reverseBytes
- sum
- max
- min
toString
public static String toString(int i,
int radix)
返回由第二个参数指定的基数中的第一个参数的字符串表示形式。
如果基数小于Character.MIN_RADIX
或大于Character.MAX_RADIX
,则使用基数10
。
如果第一个参数为负,结果的第一个元素是ASCII减号'-'
( '\u002D'
)。 如果第一个参数不为负,则结果中不会出现符号字符。
结果的剩余字符表示第一个参数的大小。 如果幅度为零,则由单个零字符'0'
( '\u0030'
)表示; 否则,幅度的表示的第一个字符将不是零字符。 以下ASCII字符用作数字:
0123456789abcdefghijklmnopqrstuvwxyz
这些是'\u0030'
至'\u0039'
和'\u0061'
至'\u007A'
。如果radix
是N ,则这些字符的前N个按照所示的顺序用作小数位数N。因此,十六进制(小数16)的数字是0123456789abcdef
。如果需要大写字母,可以对结果调用String.toUpperCase()
方法:
Integer.toString(n, 16).toUpperCase()
-
参数
i
- 要转换为字符串的整数。radix
- 在字符串表示中使用的基数。 -
结果
指定基数中的参数的字符串表示形式。
toUnsignedString
public static String toUnsignedString(int i,
int radix)
以第二个参数指定的基数中的无符号整数值返回第一个参数的字符串表示形式。
如果基数小于Character.MIN_RADIX
或大于Character.MAX_RADIX
,则使用基数10
。
请注意,由于第一个参数被视为无符号值,因此不会打印前导符号。
如果幅度为零,则由单个零字符'0'
( '\u0030'
)表示; 否则,幅度的表示的第一个字符将不是零字符。
基数的行为和用作数字的字符与toString
相同。
-
参数
i
- 要转换为无符号字符串的整数。radix
- 在字符串表示中使用的基数。 -
结果
指定基数中的参数的无符号字符串表示形式。
-
从以下版本开始:
1.8
toHexString
public static String toHexString(int i)
返回整数参数的字符串表示形式,作为16位中的无符号整数。
如果参数为负,则无符号整数值为参数加2 32 ; 否则,它等于论证。 该值转换为十六进制(基数16)的ASCII数字字符串,没有额外的前导0
s。
可以通过调用Integer.parseUnsignedInt(s, 16)
从返回的字符串s
中恢复参数的值。
如果无符号幅度为零,则由单个零字符'0'
( '\u0030'
)表示; 否则,无符号大小的表示的第一个字符将不是零字符。 以下字符用作十六进制数字:
0123456789abcdef
这些人物'\u0030'
通过'\u0039'
和'\u0061'
通过'\u0066'
。如果需要大写字母,可以对结果调用String.toUpperCase()
方法:
Integer.toHexString(n).toUpperCase()
-
参数
i
- 要转换为字符串的整数。 -
结果
由参数以十六进制表示的无符号整数值的字符串表示(16位)。
-
从以下版本开始:
JDK1.0.2
toOctalString
public static String toOctalString(int i)
在基数8中返回整数参数的字符串表示形式为无符号整数。
如果参数为负,则无符号整数值为参数加2 32 ; 否则,它等于论证。 该值转换为八进制(基数8)中的ASCII数字字符串,没有额外的前导0
s。
可以通过调用Integer.parseUnsignedInt(s, 8)
从返回的字符串s
中恢复参数的值。
如果无符号大小为零,则由单个零字符'0'
( '\u0030'
)表示; 否则,无符号大小的表示的第一个字符将不是零字符。 以下字符用作八进制数字:
01234567
这些是'\u0030'
至'\u0037'
。
-
参数
i
- 要转换为字符串的整数。 -
结果
由参数以八进制表示的无符号整数值的字符串表示(基数8)。
-
从以下版本开始:
JDK1.0.2
toBinaryString
public static String toBinaryString(int i)
在基数2中返回整数参数的字符串表示形式为无符号整数。
如果参数为负,则无符号整数值为参数加2 32 ; 否则就等于论证。 该值转换为二进制(基数2)的ASCII数字字符串,没有额外的前导0
s。
可以通过调用Integer.parseUnsignedInt(s, 2)
从返回的字符串s
中恢复参数的值。
如果无符号幅度为零,则由单个零字符'0'
( '\u0030'
)表示; 否则,无符号大小的表示的第一个字符将不是零字符。 字符'0'
( '\u0030'
)和'1'
( '\u0031'
)用作二进制数字。
-
参数
i
- 要转换为字符串的整数。 -
结果
由二进制(基数2)中的参数表示的无符号整数值的字符串表示形式。
-
从以下版本开始:
JDK1.0.2
toString
public static String toString(int i)
返回表示指定整数的String
对象。 参数被转换为带符号的十进制表示形式,并作为字符串返回,就像参数和小数10作为toString(int, int)
方法的参数一样。
-
参数
i
- 要转换的整数。 -
结果
基数10中的参数的字符串表示形式。
toUnsignedString
public static String toUnsignedString(int i)
将参数的字符串表示形式返回为无符号十进制值。 参数被转换为无符号十进制表示形式,并作为字符串返回,就像参数和小数10作为toUnsignedString(int, int)
方法的参数一样。
-
参数
i
- 要转换为无符号字符串的整数。 -
结果
参数的无符号字符串表示形式。
-
从以下版本开始:
1.8
parseInt
public static int parseInt(String s)
throws NumberFormatException
将字符串参数解析为带符号的十进制整数。 字符串中的字符都必须是十进制数字,除了第一个字符可能是ASCII减号'-'
( '\u002D'
)以指示负值或ASCII加号'+'
( '\u002B'
)以指示正值。 返回所得到的整数值,就像参数和小数10被赋予parseInt(java.lang.String, int)
方法的参数一样。
-
参数
s
- 一个String
包含要解析的int
表示 -
结果
由参数以十进制表示的整数值。
-
异常
NumberFormatException
- 如果字符串不包含可解析整数。 -
parseUnsignedInt
public static int parseUnsignedInt(String s) throws NumberFormatException
将字符串参数解析为无符号十进制整数。 字符串中的字符必须都是十进制数字,除了第一个字符可能是ASCII加号
'+'
('\u002B'
)。 返回所得到的整数值,就像参数和小数10被赋予parseUnsignedInt(java.lang.String, int)
方法的参数一样。-
参数
s
- aString
,int
包含要解析的无符号int
表示 -
结果
由参数以十进制表示的无符号整数值。
-
异常
NumberFormatException
- 如果字符串不包含可解析的无符号整数。 -
从以下版本开始:
1.8
-
valueOf
public static Integer valueOf(String s,
int radix)
throws NumberFormatException
返回一个Integer
对象,保存从指定的String String
的值,并用第二个参数给出的基数进行解析。第一个参数被解释为在第二个参数指定的基数中表示一个有符号整数,就好像参数被赋予了parseInt(java.lang.String, int)
方法一样。结果是一个Integer
对象,表示由字符串指定的整数值。
换句话说,该方法返回一个Integer
对象的值等于:
new Integer(Integer.parseInt(s, radix))
-
参数
s
- 要解析的字符串。radix
- 用于解释的基数s
-
结果
一个保存由指定基数中的字符串参数表示的值的
Integer
对象。 -
异常
NumberFormatException
- 如果String
不包含可解析的int
。 -
valueOf
public static Integer valueOf(String s) throws NumberFormatException
返回一个
Integer
物体保持在指定的值String
。该参数被解释为表示一个有符号的十进制整数,就像参数给予parseInt(java.lang.String方法一样。结果是一个
Integer`对象,表示由字符串指定的整数值。换句话说,该方法返回一个
Integer
对象的值等于:new Integer(Integer.parseInt(s))
-
参数
s
- 要解析的字符串。 -
结果
一个保存由string参数表示的值的
Integer
对象。 -
异常
NumberFormatException
- 如果字符串不能被解析为整数。
-
-
valueOf
public static Integer valueOf(int i)
返回一个
Integer
指定的int
值的Integer
实例。 如果不需要新的Integer
实例,则该方法通常优先于构造函数Integer(int)
使用 ,因为该方法可能通过缓存经常请求的值而产生明显更好的空间和时间性能。 此方法将始终缓存-128到127(含)范围内的值,并可能会超出此范围之外的其他值。-
参数
i
- 一个int
价值。 -
结果
一个
Integer
实例,代表i
。 -
从以下版本开始:
1.5
-
byteValue
public byte byteValue()
返回此值 Integer
为 byte
的基本收缩转换后。
-
重写:
byteValue
在类别Number
-
结果
该对象在转换为
byte
之后表示的byte
。 -
See The Java™ Language Specification:
5.1.3缩小原始转换
shortValue
public short shortValue()
返回此值 Integer
为 short
的基本收缩转换后。
-
重写:
shortValue
在类别Number
-
结果
该对象在转换为
short
之后表示的short
。 -
See The Java™ Language Specification:
5.1.3缩小原始转换
intValue
public int intValue()
将 Integer
的值作为 int
。
-
Specified by:
intValue
在类别Number
-
结果
该对象在转换为
int
之后表示的int
。
longValue
public long longValue()
返回此值 Integer
为 long
一个宽元转换后。
-
Specified by:
longValue
在类别Number
-
结果
该对象在转换为
long
之后表示的long
。
floatValue
public float floatValue()
返回此值 Integer
为 float
一个宽元转换后。
-
Specified by:
floatValue
在类别Number
-
结果
此对象在转换为
float
后转换的float
。 -
See The Java™ Language Specification:
5.1.2扩大原始转换
doubleValue
public double doubleValue()
返回此值 Integer
为 double
一个宽元转换后。
-
Specified by:
doubleValue
在类别Number
-
结果
该对象在转换为
double
之后表示的double
。 -
See The Java™ Language Specification:
5.1.2扩大原始转换
toString
public String toString()
返回String
表示此对象Integer
的价值。 该值被转换为带符号的十进制表示形式,并作为字符串返回,就像将整数值作为toString(int)
方法的参数给出。
-
重写:
toString
在Object
-
结果
这个对象在基数10中的值的字符串表示。
hashCode
public int hashCode()
返回这个 Integer
的哈希码。
-
重写:
hashCode
在类别Object
-
结果
该对象的哈希码值等于由此
Integer
对象表示的int
值int。 -
hashCode
public static int hashCode(int value)
返回一个
int
值的哈希码; 兼容Integer.hashCode()
。-
参数
value
- 哈希值 -
结果
int
值的哈希码值。 -
从以下版本开始:
1.8
-
equals
public boolean equals(Object obj)
将此对象与指定的对象进行比较。 其结果是true
当且仅当该参数不是null
并且是Integer
对象包含相同int
值作为该对象。
-
重写:
equals
在类别Object
-
参数
obj
- 要比较的对象。 -
结果
true
如果对象是一样的;false
否则。
compareTo
public int compareTo(Integer anotherInteger)
数字比较两个 Integer
对象。
-
Specified by:
compareTo
在界面Comparable<Integer>
-
参数
anotherInteger
- 要比较的Integer
。 -
结果
值
0
如果这个Integer
等于参数Integer
; 一个值小于0
如果这个Integer
数字小于参数Integer
; 和大于一个值0
如果此Integer
在数值上大于该参数Integer
(带符号的比较)。 -
从以下版本开始:
1.2
compare
public static int compare(int x,
int y)
数值比较两个int
值。返回的值与以下内容相同:
Integer.valueOf(x).compareTo(Integer.valueOf(y))
-
参数
x
- 第一个int
进行比较y
- 第二个int
进行比较 -
结果
价值
0
如果x == y
; 一个值小于0
如果x < y
; 和值大于0
如果x > y
-
从以下版本开始:
1.7
compareUnsigned
public static int compareUnsigned(int x,
int y)
比较两个 int
值以数字方式将值视为无符号。
-
参数
x
- 第一个int
进行比较y
- 第二个int
进行比较 -
结果
价值
0
如果x == y
; 如果x < y
为无符号值,则小于0
; 如果x > y
为无符号值,则值大于0
-
从以下版本开始:
1.8
toUnsignedLong
public static long toUnsignedLong(int x)
参数给转换long
由无符号转换。 在一个无符号转换为long
,所述的高阶32位long
是零和低32位等于整数参数的比特。 因此,零和正值int
值被映射到数字等于long
值,而负值int
值被映射到等于输入加上32的long
值。
-
参数
x
- 转换为无符号long
的值 -
结果
参数转换为
long
由无符号转换 -
从以下版本开始:
1.8
divideUnsigned
public static int divideUnsigned(int dividend,
int divisor)
返回将第一个参数除以秒的无符号商,其中每个参数和结果被解释为无符号值。
注意,在二进制补码算术中,如果两个操作数被认为是被签名的或者两个都是无符号的,则加法,减法和乘法的三个其他基本算术运算是逐位相同的。 因此不提供addUnsigned
等方法。
-
参数
dividend
- 要划分的值divisor
- 做分割的价值 -
结果
第一个参数的无符号商除以第二个参数
-
从以下版本开始:
1.8
remainderUnsigned
public static int remainderUnsigned(int dividend,
int divisor)
返回无符号余数,将第一个参数除以秒,其中每个参数和结果被解释为无符号值。
-
参数
dividend
- 要划分的值divisor
- 做分割的值 -
结果
第一个参数的无符号余数除以第二个参数
-
从以下版本开始:
1.8
highestOneBit
public static int highestOneBit(int i)
返回一个int
值与至多一个单个1位,在最高阶(“最左侧”)的位置在指定的一个位int
值。 如果指定的值在其二进制补码二进制表示中没有1位,也就是说,如果它等于零,则返回零。
-
参数
i
- 要计算其最高一位的值 -
结果
一个
int
值,具有单个1位,位于指定值中最高位1位的位置,如果指定值本身等于零,则为零。 -
从以下版本开始:
1.5
lowestOneBit
public static int lowestOneBit(int i)
返回一个int
值与至多一个单个1位,在最低阶(“最右边的”)的位置在指定的一个位int
值。 如果指定的值在其二进制补码二进制表示中没有1位,也就是说,如果它等于零,则返回零。
-
参数
i
- 要计算最低一位的值 -
结果
一个
int
值,具有单个1位,在指定值中的最低位1位的位置,如果指定的值本身等于零,则为零。 -
从以下版本开始:
1.5
numberOfLeadingZeros
public static int numberOfLeadingZeros(int i)
返回的最高阶的(“最左边的”)中所指定的二进制补码表示的一个位前述零个比特的数量int
值。如果指定的值在其二进制补码表示中没有1位,换句话说如果它等于零则返回32。
请注意,该方法与对数基数2密切相关。对于所有正值int
值x:
-
floor(log 2 (x))=
31 - numberOfLeadingZeros(x)
-
ceil(log 2 (x))=
32 - numberOfLeadingZeros(x - 1)
-
参数
i
- 要计算前导零数的值 -
结果
的最高阶的(“最左边的”)前面的零位在指定的二进制补码表示的一个比特的数目
int
值,或32如果该值等于零。 -
从以下版本开始:
1.5
-
numberOfTrailingZeros
public static int numberOfTrailingZeros(int i)
返回零位以下最低阶(“最右边的”)的数量在指定的二进制补码表示的一个位
int
值。 如果指定的值在其二进制补码表示中没有1位,换句话说如果它等于零则返回32。-
参数
i
- 要计算i
零数的值 -
结果
以下最低阶(“最右边的”)的零个比特的数量的一比特在指定的二进制补码表示
int
值,或32如果该值等于零。 -
从以下版本开始:
1.5
-
bitCount
public static int bitCount(int i)
返回指定的int值的二进制补码二进制表示中的int
数。 此功能有时称为人口数量 。
-
参数
i
- 要对其位进行计数的值 -
结果
指定的int值的二进制补码二进制表示中的
int
数。 -
从以下版本开始:
1.5
rotateLeft
public static int rotateLeft(int i,
int distance)
返回通过将指定的int值的二进制补码二进制表示旋转指定位数int
值。(左侧移位的位或右侧的高位侧重新输入,或低位)。
请注意,具有负距离的左旋转相当于右旋: rotateLeft(val, -distance) == rotateRight(val, distance)
。 还要注意,32的任意倍数的旋转是无操作的,所以除旋转距离的最后五位之外,除了距离为负值外,也可以忽略旋转距离的最后5位: rotateLeft(val, distance) == rotateLeft(val, distance & 0x1F)
。
-
参数
i
- 其位要向左旋转的值distance
- 向左旋转的位位数 -
结果
通过将指定的int值的二进制补码二进制表示旋转指定的位数
int
值。 -
从以下版本开始:
1.5
rotateRight
public static int rotateRight(int i,
int distance)
返回通过旋转指定的二的补码的二进制表示而得到的值int
右移位的指定数值。(右侧移动的位或左侧的低位侧重新输入,或高位)。
请注意,具有负距离的右旋转相当于左旋: rotateRight(val, -distance) == rotateLeft(val, distance)
。 还要注意,32的任意倍数的旋转是无操作的,因此除旋转距离的最后五位之外,除了距离为负值外,也可以忽略旋转距离的最后5位: rotateRight(val, distance) == rotateRight(val, distance & 0x1F)
。
-
参数
i
- 其位要向右旋转的值distance
- 要向右旋转的位位数 -
结果
通过将指定的int值的二进制补码二进制表示旋转指定的位数
int
值。 -
从以下版本开始:
1.5
reverse
public static int reverse(int i)
返回由指定的二进制补码表示反转位的顺序而获得的值 int
值。
-
参数
i
- 要反转的值 -
结果
通过在指定的
int
值中反转位的顺序int
值。 -
从以下版本开始:
1.5
signum
public static int signum(int i)
返回指定的int
值的signum函数。 (如果指定的值为负,返回值为-1;如果指定的值为零,返回值为0;如果指定的值为正,返回值为1)。
-
参数
i
- 要计算其i
的值 -
结果
指定功能的指定值为
int
。 -
从以下版本开始:
1.5
reverseBytes
public static int reverseBytes(int i)
返回反转指定的二进制补码表示的字节顺序而获得的值 int
值。
-
参数
i
- 要颠倒其字节的值 -
结果
通过在指定的
int
值中反转字节获得的值。 -
从以下版本开始:
1.5
sum
public static int sum(int a,
int b)
根据+运算符将两个整数相加。
-
参数
a
- 第一个操作数b
- 第二个操作数 -
结果
总额为
a
和b
max
public static int max(int a,
int b)
返回两个 int
的较大值,就像调用 Math.max`一样
-
参数
a
- 第一个操作数b
- 第二个操作数 -
结果
a
和b
的较大b
min
public static int min(int a,
int b)
返回两个 int
的较小值,就像调用 Math.min
一样 。
-
参数
a
- 第一个操作数b
- 第二个操作数 -
结果
较小的
a
和b