|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.lang.Number java.lang.Integer
public final class Integer
Integer
类在对象中包装了一个基本类型 int
的值。Integer
类型的对象包含一个 int
类型的字段。
此外,该类提供了多个方法,能在 int
类型和 String
类型之间互相转换,还提供了处理 int
类型时非常有用的其他一些常量和方法。
实现注意事项:“bit twiddling”方法(如 highestOneBit
和 numberOfTrailingZeros
)的实现基于 Henry S. Warren, Jr.撰写的 Hacker's Delight(Addison Wesley, 2002)中的一些有关材料。
字段摘要 | |
---|---|
static int |
MAX_VALUE
值为 231-1 的常量,它表示 int 类型能够表示的最大值。 |
static int |
MIN_VALUE
值为 -231 的常量,它表示 int 类型能够表示的最小值。 |
static int |
SIZE
用来以二进制补码形式表示 int 值的比特位数。 |
static Class<Integer> |
TYPE
表示基本类型 int 的 Class 实例。 |
构造方法摘要 | |
---|---|
Integer(int value)
构造一个新分配的 Integer 对象,它表示指定的 int 值。 |
|
Integer(String s)
构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。 |
方法摘要 | |
---|---|
static int |
bitCount(int i)
返回指定 int 值的二进制补码表示形式的 1 位的数量。 |
byte |
byteValue()
以 byte 类型返回该 Integer 的值。 |
int |
compareTo(Integer anotherInteger)
在数字上比较两个 Integer 对象。 |
static Integer |
decode(String nm)
将 String 解码为 Integer 。 |
double |
doubleValue()
以 double 类型返回该 Integer 的值。 |
boolean |
equals(Object obj)
比较此对象与指定对象。 |
float |
floatValue()
以 float 类型返回该 Integer 的值。 |
static Integer |
getInteger(String nm)
确定具有指定名称的系统属性的整数值。 |
static Integer |
getInteger(String nm,
int val)
确定具有指定名称的系统属性的整数值。 |
static Integer |
getInteger(String nm,
Integer val)
返回具有指定名称的系统属性的整数值。 |
int |
hashCode()
返回此 Integer 的哈希码。 |
static int |
highestOneBit(int i)
返回具有至多单个 1 位的 int 值,在指定的 int 值中最高位(最左边)的 1 位的位置。 |
int |
intValue()
以 int 类型返回该 Integer 的值。 |
long |
longValue()
以 long 类型返回该 Integer 的值。 |
static int |
lowestOneBit(int i)
返回具有至多单个 1 位的 int 值,在指定的 int 值中最低位(最右边)的 1 位的位置。 |
static int |
numberOfLeadingZeros(int i)
在指定 int 值的二进制补码表示形式中最高位(最左边)的 1 位之前,返回零位的数量。 |
static int |
numberOfTrailingZeros(int i)
返回指定的 int 值的二进制补码表示形式中最低(“最右边”)的为 1 的位后面的零位个数。 |
static int |
parseInt(String s)
将字符串参数作为有符号的十进制整数进行解析。 |
static int |
parseInt(String s,
int radix)
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。 |
static int |
reverse(int i)
返回通过反转指定 int 值的二进制补码表示形式中位的顺序而获得的值。 |
static int |
reverseBytes(int i)
返回通过反转指定 int 值的二进制补码表示形式中字节的顺序而获得的值。 |
static int |
rotateLeft(int i,
int distance)
返回根据指定的位数循环左移指定的 int 值的二进制补码表示形式而得到的值。 |
static int |
rotateRight(int i,
int distance)
返回根据指定的位数循环右移指定的 int 值的二进制补码表示形式而得到的值。 |
short |
shortValue()
以 short 类型返回该 Integer 的值。 |
static int |
signum(int i)
返回指定 int 值的符号函数。 |
static String |
toBinaryString(int i)
以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。 |
static String |
toHexString(int i)
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式。 |
static String |
toOctalString(int i)
以八进制(基数 8)无符号整数形式返回一个整数参数的字符串表示形式。 |
String |
toString()
返回一个表示该 Integer 值的 String 对象。 |
static String |
toString(int i)
返回一个表示指定整数的 String 对象。 |
static String |
toString(int i,
int radix)
返回用第二个参数指定基数表示的第一个参数的字符串表示形式。 |
static Integer |
valueOf(int i)
返回一个表示指定的 int 值的 Integer 实例。 |
static Integer |
valueOf(String s)
返回保存指定的 String 的值的 Integer 对象。 |
static Integer |
valueOf(String s,
int radix)
返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
public static final int MIN_VALUE
int
类型能够表示的最小值。
public static final int MAX_VALUE
int
类型能够表示的最大值。
public static final Class<Integer> TYPE
int
的 Class
实例。
public static final int SIZE
构造方法详细信息 |
---|
public Integer(int value)
Integer
对象,它表示指定的 int
值。
value
- Integer
对象表示的值。public Integer(String s) throws NumberFormatException
Integer
对象,它表示 String
参数所指示的 int
值。使用与 parseInt
方法(对基数为 10 的值)相同的方式将该字符串转换成 int
值。
s
- 要转换为 Integer
的 String
。
NumberFormatException
- 如果 String
不包含可解析的整数。parseInt(java.lang.String, int)
方法详细信息 |
---|
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 个作为其数字。因此,十六进制(基数为 16)的数字是 0123456789abcdef
。如果希望得到大写字母,则可以在结果上调用 String.toUpperCase()
方法:
Integer.toString(n, 16).toUpperCase()
i
- 要转换成字符串的整数。radix
- 用于字符串表示形式的基数。
Character.MAX_RADIX
,
Character.MIN_RADIX
public static String toHexString(int i)
如果参数为负,那么无符号整数值为参数加上 232;否则等于该参数。将该值转换为十六进制(基数 16)的无前导 0
的 ASCII 数字字符串。如果无符号数的大小值为零,则用一个零字符 '0'
(’\u0030’
) 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。用以下字符作为十六进制数字:
这些字符的范围是从0123456789abcdef
'\u0030'
到 '\u0039'
和从 '\u0061'
到 '\u0066'
。如果希望得到大写字母,可以在结果上调用 String.toUpperCase()
方法:
Integer.toHexString(n).toUpperCase()
i
- 要转换成字符串的整数。
public static String toOctalString(int i)
如果参数为负,该无符号整数值为参数加上 232;否则等于该参数。该值被转换成八进制(基数 8)ASCII 数字的字符串,且没有附加前导 0
。
如果无符号数大小为零,则用一个零字符 '0'
('\u0030'
) 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。用以下字符作为八进制数字:
它们是从01234567
'\u0030'
到 '\u0037'
的字符。
i
- 要转换成字符串的整数。
public static String toBinaryString(int i)
如果参数为负,该无符号整数值为参数加上 232;否则等于该参数。将该值转换为二进制(基数 2)形式的无前导 0
的 ASCII 数字字符串。如果无符号数的大小为零,则用一个零字符 '0'
(’\u0030’
) 表示它;否则,无符号数大小的表示形式中的第一个字符将不是零字符。字符 '0'
('\u0030'
) 和 '1'
('\u0031'
) 被用作二进制数字。
i
- 要转换为字符串的整数。
public static String toString(int i)
String
对象。将该参数转换为有符号的十进制表示形式,以字符串形式返回它,就好像将参数和基数 10 作为参数赋予 toString(int, int)
方法。
i
- 要转换的整数。
public static int parseInt(String s, int radix) throws NumberFormatException
'-'
('\u002D’
)外,字符串中的字符必须都是指定基数的数字(通过 Character.digit(char, int)
是否返回一个负值确定)。返回得到的整数值。
如果发生以下任意一种情况,则抛出一个 NumberFormatException
类型的异常:
null
或一个长度为零的字符串。
Character.MIN_RADIX
或者大于 Character.MAX_RADIX
。
'-'
('u002D’
) 外,字符串中存在任意不是由指定基数的数字表示的字符。
int
类型的值。
示例:
parseInt("0", 10) 返回 0 parseInt("473", 10) 返回 473 parseInt("-0", 10) 返回 0 parseInt("-FF", 16) 返回 -255 parseInt("1100110", 2) 返回 102 parseInt("2147483647", 10) 返回 2147483647 parseInt("-2147483648", 10) 返回 -2147483648 parseInt("2147483648", 10) 抛出 NumberFormatException parseInt("99", 8) 抛出 NumberFormatException parseInt("Kona", 10) 抛出 NumberFormatException parseInt("Kona", 27) 返回 411787
s
- 包含要解析的整数表示形式的 String
radix
- 解析 s
时使用的基数。
NumberFormatException
- 如果 String
不包含可解析的 int
。public static int parseInt(String s) throws NumberFormatException
'-'
('\u002D'
) 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int)
方法一样。
s
- 包含要解析的 int
表示形式的 String
。
NumberFormatException
- 如果字符串不包含可解析的整数。public static Integer valueOf(String s, int radix) throws NumberFormatException
Integer
对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String
中提取的值。将第一个参数解释为用第二个参数指定的基数表示的有符号整数,就好像将这些参数赋予 parseInt(java.lang.String, int)
方法一样。结果是一个表示字符串指定的整数值的 Integer
对象。
换句话说,该方法返回一个等于以下值的 Integer
对象:
new Integer(Integer.parseInt(s, radix))
s
- 要解析的字符串。radix
- 解释 s
时使用的基数。
Integer
对象,它含有字符串参数(以指定的基数)所表示的数值。
NumberFormatException
- 如果 String
不包含可解析的 int
。public static Integer valueOf(String s) throws NumberFormatException
String
的值的 Integer
对象。将该参数解释为表示一个有符号的十进制整数, 就好像将该参数赋予 parseInt(java.lang.String)
方法一样。结果是一个表示字符串指定的整数值的 Integer
对象。
换句话说,该方法返回一个等于以下值的 Integer
对象:
new Integer(Integer.parseInt(s))
s
- 要解析的字符串。
Integer
对象。
NumberFormatException
- 如果字符串不能解析为一个整数。public static Integer valueOf(int i)
Integer(int)
,因为该方法有可能通过缓存经常请求的值而显著提高空间和时间性能。
i
- 一个 int
值。
public byte byteValue()
byte
类型返回该 Integer
的值。
Number
中的 byteValue
byte
类型后该对象表示的数值。public short shortValue()
short
类型返回该 Integer
的值。
Number
中的 shortValue
short
类型后该对象表示的数值。public int intValue()
int
类型返回该 Integer
的值。
Number
中的 intValue
int
类型后该对象表示的数值。public long longValue()
long
类型返回该 Integer
的值。
Number
中的 longValue
long
类型后该对象表示的数值。public float floatValue()
float
类型返回该 Integer
的值。
Number
中的 floatValue
float
类型后该对象表示的数值。public double doubleValue()
double
类型返回该 Integer
的值。
Number
中的 doubleValue
double
类型后该对象表示的数值。public String toString()
Integer
值的 String
对象。将该参数转换为有符号的十进制表示形式,并以字符串的形式返回它,就好像将该整数值作为参数赋予 toString(int)
方法一样。
Object
中的 toString
public int hashCode()
Integer
的哈希码。
Object
中的 hashCode
Integer
对象表示的基本 int
类型的数值。Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
null
,并且是一个与该对象包含相同 int
值的 Integer
对象时,结果为 true
。
Object
中的 equals
obj
- 要比较的对象。
true
,否则返回 false
。Object.hashCode()
,
Hashtable
public static Integer getInteger(String nm)
第一个参数被视为系统属性的名称。通过 System.getProperty(java.lang.String)
方法可以访问系统属性。然后,将该属性的字符串值解释为一个整数值,并返回表示该值的 Integer
对象。使用 getProperty
的定义可以找到可能出现的数字格式的详细信息。
如果没有具有指定名称的属性,或者指定名称为空或 null
,或者属性的数字格式不正确,则返回 null
。
换句话说,该方法返回一个等于以下值的 Integer
对象:
getInteger(nm, null)
nm
- 属性名。
Integer
值。System.getProperty(java.lang.String)
,
System.getProperty(java.lang.String, java.lang.String)
public static Integer getInteger(String nm, int val)
第一个参数被视为系统属性的名称。通过 System.getProperty(java.lang.String)
方法可以访问系统属性。然后,将该属性的字符串值解释为一个整数值,并返回表示该值的 Integer
对象。使用 getProperty
的定义可以找到可能出现的数字格式的详细信息。
第二个参数是默认值。如果未具有指定名称的属性,或者属性的数字格式不正确,或者指定名称为空或 null
,则返回一个表示第二个参数的值的 Integer
对象。
换句话说,该方法返回一个等于以下值的 Integer
对象:
getInteger(nm, new Integer(val))
但在实践中可能会用以下类似方式实现它:
从而避免在无需默认值时分配不必要的Integer result = getInteger(nm, null); return (result == null) ? new Integer(val) : result;
Integer
对象。
nm
- 属性名。val
- 默认值。
Integer
值。System.getProperty(java.lang.String)
,
System.getProperty(java.lang.String, java.lang.String)
public static Integer getInteger(String nm, Integer val)
System.getProperty(java.lang.String)
方法可以访问系统属性。然后,根据每个 Integer.decode
方法,将该属性的字符串值解释为一个整数值,并返回一个表示该值的 Integer
对象。
0x
或者 ASCII 字符 #
开始,并且后面没有减号,则将它的剩余部分解析为十六进制整数,就好像以 16 为基数调用 valueOf(java.lang.String, int)
方法一样。
0
开始,后面还有其他字符,则将它解析为八进制整数,就好像以 8 为基数调用 valueOf(java.lang.String, int)
方法一样。
valueOf(java.lang.String, int)
方法一样。
第二个参数是默认值。如果未具有指定名称的属性,或者属性的数字格式不正确,或者指定名称为空或 null
,则返回默认值。
nm
- 属性名。val
- 默认值。
Integer
值。System.getProperty(java.lang.String)
,
System.getProperty(java.lang.String, java.lang.String)
,
decode(java.lang.String)
public static Integer decode(String nm) throws NumberFormatException
String
解码为 Integer
。接受通过以下语法给出的十进制、十六进制和八进制数字:
Java Language Specification 的第 §3.10.1 节中有 DecimalNumeral、HexDigits 和 OctalDigits 的定义。
- DecodableString:
- Signopt DecimalNumeral
- Signopt
0x
HexDigits- Signopt
0X
HexDigits- Signopt
#
HexDigits- Signopt
0
OctalDigits
- Sign:
-
跟在(可选)负号和/或基数说明符(“0x
”、“0X
”、“#
”或前导零)后面的字符序列是使用指示的基数(10、16 或 8)通过 Integer.parseInt
方法解析的。字符序列必须表示一个正值,否则会抛出 NumberFormatException
。如果指定的 String
的第一个字符是减号,则对结果求反。String
中不允许出现空白字符。
nm
- 要解码的 String
。
nm
所表示的 int
值的 Integer
对象。
NumberFormatException
- 如果 String
不包含可解析整数。parseInt(java.lang.String, int)
public int compareTo(Integer anotherInteger)
Integer
对象。
Comparable<Integer>
中的 compareTo
anotherInteger
- 要比较的 Integer
。
Integer
等于 Integer
参数,则返回 0
值;如果该 Integer
在数字上小于 Integer
参数,则返回小于 0
的值;如果 Integer
在数字上大于 Integer
参数,则返回大于 0
的值(有符号的比较)。public static int highestOneBit(int i)
public static int lowestOneBit(int i)
public static int numberOfLeadingZeros(int i)
注意,此方法与基数为 2 的对数密切相关。对于所有的正 int 值 x:
public static int numberOfTrailingZeros(int i)
public static int bitCount(int i)
public static int rotateLeft(int i, int distance)
注意,使用负距离的左循环等同于右循环:rotateLeft(val, -distance) == rotateRight(val, distance)。还要注意的是,以 32 的任何倍数进行的循环都是无操作指令,因此,即使距离为负,除了最后五位外,其余所有循环距离都可以忽略:rotateLeft(val, distance) == rotateLeft(val, distance & 0x1F)。
public static int rotateRight(int i, int distance)
注意,使用负距离的右循环等同于左循环:rotateRight(val, -distance) == rotateLeft(val, distance)。还要注意的是,以 32 的任何倍数进行的循环都是无操作指令,因此,即使距离为负,除了最后五位外,其余所有循环距离都可以忽略:rotateRight(val, distance) == rotateRight(val, distance & 0x1F)。
public static int reverse(int i)
public static int signum(int i)
public static int reverseBytes(int i)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。