|
JavaTM 2 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 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。