Razred Integer je ovojni razred za primitivni tip int, ki vsebuje več metod za učinkovito obravnavanje vrednosti int, kot je pretvorba v predstavitev niza in obratno. Objekt razreda Integer lahko vsebuje eno samo int vrednost.
Konstruktorji:
- Celo število (int b): Ustvari objekt Integer, inicializiran s podano vrednostjo.
Sintaksa:
public Integer(int b)>
Parametri:
b : value with which to initialize>
- Celo število (niz s): Ustvari objekt Integer, inicializiran z vrednostjo int, ki jo zagotavlja predstavitev niza. Privzeti radiks je 10.
Sintaksa:
public Integer(String s) throws NumberFormatException>
Parametri:
s : string representation of the int value>
Meti:
NumberFormatException : If the string provided does not represent any int value.>
Metode:
1. toString() : Vrne niz, ki ustreza vrednosti int.
Sintaksa:
public String toString(int b)>
Parametri:
b : int value for which string representation required.>
2. toHexString() : Vrne niz, ki ustreza vrednosti int v šestnajstiški obliki, kar pomeni, da vrne niz, ki predstavlja vrednost int v šestnajstiških znakih-[0-9][a-f]
Sintaksa:
public String toHexString(int b)>
Parametri:
b : int value for which hex string representation required.>
3. toOctalString() : Vrne niz, ki ustreza vrednosti int v osmiški obliki, kar pomeni, da vrne niz, ki predstavlja vrednost int v osmiških znakih-[0-7]
Sintaksa:
public String toOctalString(int b)>
Parametri:
b : int value for which octal string representation required.>
4. toBinaryString() : Vrne niz, ki ustreza vrednosti int v binarnih cifrah, kar pomeni, da vrne niz, ki predstavlja vrednost int v šestnajstiških znakih-[0/1]
Sintaksa:
public String toBinaryString(int b)>
Parametri:
b : int value for which binary string representation required.>
5. valueOf() : vrne objekt Integer, inicializiran s podano vrednostjo.
Sintaksa:
public static Integer valueOf(int b)>
Parametri:
b : a int value>
- valueOf(Niz val,int radix) : Druga preobremenjena funkcija, ki zagotavlja funkcijo, podobno new Integer(Integer.parseInteger(val,radix))
Sintaksa:
public static Integer valueOf(String val, int radix) throws NumberFormatException>
Parametri:
val : String to be parsed into int value radix : radix to be used while parsing>
Meti:
NumberFormatException : if String cannot be parsed to a int value in given radix.>
- valueOf(Vred niza) : Še ena preobremenjena funkcija, ki zagotavlja funkcijo, podobno new Integer(Integer.parseInt(val,10))
Sintaksa:
public static Integer valueOf(String s) throws NumberFormatException>
Parametri:
s : a String object to be parsed as int>
Meti:
NumberFormatException : if String cannot be parsed to a int value in given radix.>
6. parseInt() : vrne vrednost int z razčlenjevanjem niza v podanem korenu. Razlikuje se od valueOf(), ker vrne primitivno int vrednost, valueOf() pa vrne Integer objekt.
Sintaksa:
public static int parseInt(String val, int radix) throws NumberFormatException>
Parametri:
val : String representation of int radix : radix to be used while parsing>
Meti:
NumberFormatException : if String cannot be parsed to a int value in given radix.>
- Druga preobremenjena metoda, ki kot parameter vsebuje samo niz, radix je privzeto nastavljen na 10.
Sintaksa:
public static int parseInt(String val) throws NumberFormatException>
Parametri:
val : String representation of int>
Meti:
NumberFormatException : if String cannot be parsed to a int value in given radix.>
7. getInteger(): vrne objekt Integer, ki predstavlja vrednost, povezano z dano sistemsko lastnostjo, ali nič, če ne obstaja.
Sintaksa:
public static Integer getInteger(String prop)>
Parametri:
prop : System property>
- Druga preobremenjena metoda, ki vrne drugi argument, če lastnost ne obstaja, to pomeni, da ne vrne ničelne vrednosti, ampak privzeto vrednost, ki jo poda uporabnik.
Sintaksa:
public static Integer getInteger(String prop, int val)>
Parametri:
prop : System property val : value to return if property does not exist.>
- Druga preobremenjena metoda, ki razčleni vrednost glede na vrnjeno vrednost, to je, če se vrnjena vrednost začne z #, je razčlenjena kot šestnajstiška, če se začne z 0, je razčlenjena kot osmiška, sicer pa decimalna.
Sintaksa:
public static Integer getInteger(String prop, Integer val)>
Parametri:
prop : System property val : value to return if property does not exist.>
8. dekodiraj() : vrne objekt Integer, ki vsebuje dekodirano vrednost podanega niza. Predloženi niz mora biti v naslednji obliki, sicer bo vržena NumberFormatException-
Decimalno- (znak)decimalno_število
Hex- (znak)0xHex_Digits
Hex- (znak)0XHex_Števke
Osmiško- (znak) 0″ osmiške_številke
Sintaksa:
public static Integer decode(String s) throws NumberFormatException>
Parametri:
s : encoded string to be parsed into int val>
Meti:
NumberFormatException : If the string cannot be decoded into a int value>
9. zasukajLevo() : Vrne primitivni int z vrtenjem bitov v levo za dano razdaljo v dvojni obliki komplementa dane vrednosti. Pri vrtenju v levo se najpomembnejši bit premakne na desno ali najmanj pomemben položaj, tj. ciklično premikanje bitov. Negativna razdalja pomeni vrtenje v desno.
Sintaksa:
public static int rotateLeft(int val, int dist)>
Parametri:
val : int value to be rotated dist : distance to rotate>
10. rotateRight() : Vrne primitivni int tako, da zasuka bite desno za dano razdaljo v obliki komplementa dvojk dane vrednosti. Pri vrtenju v desno se najmanj pomemben bit premakne na levo ali najpomembnejši položaj, tj. ciklično premikanje bitov. Negativna razdalja pomeni vrtenje v levo.
Sintaksa:
public static int rotateRight(int val, int dist)>
Parametri:
val : int value to be rotated dist : distance to rotate>
Java
// Java program to illustrate> // various Integer methods> public> class> Integer_test {> >public> static> void> main(String args[])> >{> >int> b =>55>;> >String bb =>'45'>;> >// Construct two Integer objects> >Integer x =>new> Integer(b);> >Integer y =>new> Integer(bb);> >// toString()> >System.out.println(>'toString(b) = '> >+ Integer.toString(b));> >// toHexString(),toOctalString(),toBinaryString()> >// converts into hexadecimal, octal and binary> >// forms.> >System.out.println(>'toHexString(b) ='> >+ Integer.toHexString(b));> >System.out.println(>'toOctalString(b) ='> >+ Integer.toOctalString(b));> >System.out.println(>'toBinaryString(b) ='> >+ Integer.toBinaryString(b));> >// valueOf(): return Integer object> >// an overloaded method takes radix as well.> >Integer z = Integer.valueOf(b);> >System.out.println(>'valueOf(b) = '> + z);> >z = Integer.valueOf(bb);> >System.out.println(>'ValueOf(bb) = '> + z);> >z = Integer.valueOf(bb,>6>);> >System.out.println(>'ValueOf(bb,6) = '> + z);> >// parseInt(): return primitive int value> >// an overloaded method takes radix as well> >int> zz = Integer.parseInt(bb);> >System.out.println(>'parseInt(bb) = '> + zz);> >zz = Integer.parseInt(bb,>6>);> >System.out.println(>'parseInt(bb,6) = '> + zz);> >// getInteger(): can be used to retrieve> >// int value of system property> >int> prop> >= Integer.getInteger(>'sun.arch.data.model'>);> >System.out.println(> >'getInteger(sun.arch.data.model) = '> + prop);> >System.out.println(>'getInteger(abcd) ='> >+ Integer.getInteger(>'abcd'>));> >// an overloaded getInteger() method> >// which return default value if property not found.> >System.out.println(> >'getInteger(abcd,10) ='> >+ Integer.getInteger(>'abcd'>,>10>));> >// decode() : decodes the hex,octal and decimal> >// string to corresponding int values.> >String decimal =>'45'>;> >String octal =>'005'>;> >String hex =>'0x0f'>;> >Integer dec = Integer.decode(decimal);> >System.out.println(>'decode(45) = '> + dec);> >dec = Integer.decode(octal);> >System.out.println(>'decode(005) = '> + dec);> >dec = Integer.decode(hex);> >System.out.println(>'decode(0x0f) = '> + dec);> >// rotateLeft and rotateRight can be used> >// to rotate bits by specified distance> >int> valrot =>2>;> >System.out.println(> >'rotateLeft(0000 0000 0000 0010 , 2) ='> >+ Integer.rotateLeft(valrot,>2>));> >System.out.println(> >'rotateRight(0000 0000 0000 0010,3) ='> >+ Integer.rotateRight(valrot,>3>));> >}> }> |
java, če drugače
>
>
Izhod:
toString(b) = 55 toHexString(b) =37 toOctalString(b) =67 toBinaryString(b) =110111 valueOf(b) = 55 ValueOf(bb) = 45 ValueOf(bb,6) = 29 parseInt(bb) = 45 parseInt(bb,6) = 29 getInteger(sun.arch.data.model) = 64 getInteger(abcd) =null getInteger(abcd,10) =10 decode(45) = 45 decode(005) = 5 decode(0x0f) = 15 rotateLeft(0000 0000 0000 0010 , 2) =8 rotateRight(0000 0000 0000 0010,3) =1073741824>
11. byteValue() : vrne bajtno vrednost, ki ustreza temu celemu objektu.
Sintaksa:
public byte byteValue()>
12. shortValue() : vrne kratko vrednost, ki ustreza temu celemu objektu.
Sintaksa:
public short shortValue()>
13. intValue() : vrne vrednost int, ki ustreza temu celemu objektu.
Sintaksa:
public int intValue()>
13. longValue() : vrne dolgo vrednost, ki ustreza temu celemu objektu.
Sintaksa:
public long longValue()>
14. doubleValue() : vrne dvojno vrednost, ki ustreza temu celemu objektu.
Sintaksa:
public double doubleValue()>
15. floatValue() : vrne vrednost s plavajočo vrednostjo, ki ustreza temu celemu objektu.
Sintaksa:
public float floatValue()>
16. hashCode() : vrne hashcode, ki ustreza temu celemu objektu.
Sintaksa:
public int hashCode()>
17. bitcount() : Vrne število nastavljenih bitov v dvojnem komplementu danega celega števila.
Sintaksa:
public static int bitCount(int i)>
Parametri:
i : int value whose set bits to count>
18. številovodilnih ničel() : Vrne število 0 bitov pred najvišjim 1 bitom v obliki komplementa dvojk vrednosti, tj. če je število v obliki komplementa dvojk 0000 1010 0000 0000, bi ta funkcija vrnila 4.
Sintaksa:
public static int numberofLeadingZeroes(int i)>
Parametri:
i : int value whose leading zeroes to count in twos complement form>
19. številozadnjih ničel() : Vrne število 0 bitov, ki sledi zadnjemu 1 bitu v obliki komplementa dvojk vrednosti, tj. če je število v obliki komplementa dvojk 0000 1010 0000 0000, bi ta funkcija vrnila 9.
Sintaksa:
public static int numberofTrailingZeroes(int i)>
Parametri:
i : int value whose trailing zeroes to count in twos complement form>
20. najvišjiOneBit() : Vrne vrednost z največ enim enim bitom na mestu najvišjega enega bita v podani vrednosti. Vrne 0, če je podana vrednost 0, to je, če je število 0000 0000 0000 1111, potem ta funkcija vrne 0000 0000 0000 1000 (najvišji en bit v danem številu)
Sintaksa:
public static int highestOneBit(int i)>
Parametri:
i : int value>
21. LowestOneBit() : Vrne vrednost z največ enim enim bitom na mestu najnižjega enega bita v podani vrednosti. Vrne 0, če je podana vrednost 0, to je, če je število 0000 0000 0000 1111, potem ta funkcija vrne 0000 0000 0000 0001 (en najvišji en bit v danem številu)
Sintaksa:
public static int LowestOneBit(int i)>
Parametri:
branje datoteke csv v javi
i : int value>
22. enako() : Uporablja se za primerjavo enakosti dveh predmetov Integer. Ta metoda vrne true, če oba objekta vsebujeta isto vrednost int. Uporabiti ga je treba le pri preverjanju enakosti. V vseh drugih primerih bi morala biti prednostna metoda compareTo.
Sintaksa:
public boolean equals(Object obj)>
Parametri:
obj : object to compare with>
23. primerjaj() : Uporablja se za primerjavo dveh predmetov Integer za numerično enakost. To je treba uporabiti pri primerjavi dveh vrednosti Integer za numerično enakost, saj bi razlikovali med manjšimi in večjimi vrednostmi. Vrne vrednost, manjšo od 0,0, vrednost, večjo od 0 za manj kot, enako in večje od.
Sintaksa:
public int compareTo(Integer b)>
Parametri:
b : Integer object to compare with>
24. primerjaj() : Uporablja se za primerjavo dveh osnovnih vrednosti int za numerično enakost. Ker je statična metoda, jo je mogoče uporabiti brez ustvarjanja katerega koli predmeta Integer.
Sintaksa:
public static int compare(int x,int y)>
Parametri:
x : int value y : another int value>
25. znak() : vrne -1 za negativne vrednosti, 0 za 0 in +1 za vrednosti, večje od 0.
Sintaksa:
public static int signum(int val)>
Parametri:
val : int value for which signum is required.>
26. obratno() : vrne primitivno vrednost int, ki obrne vrstni red bitov v obliki dveh komplementov dane vrednosti int.
Sintaksa:
public static int reverseBytes(int val)>
Parametri:
val : int value whose bits to reverse in order.>
27. reverseBytes() : vrne primitivno vrednost int, ki obrne vrstni red bajtov v obliki dveh komplementov dane vrednosti int.
Sintaksa:
public static int reverseBytes(int val)>
Parametri:
val : int value whose bits to reverse in order.>
28. statični int compareUnsigned(int x, int y) : Ta metoda primerja dve int vrednosti numerično, pri čemer vrednosti obravnava kot nepredznačene.
Sintaksa:
public static int compareUnsigned(int x, int y)>
29. statični int divideUnsigned(int dividenda, int divizor) : Ta metoda vrne nepredznačeni količnik deljenja prvega argumenta z drugim, pri čemer se vsak argument in rezultat razlagata kot nepredznačena vrednost.
Sintaksa:
public static int divideUnsigned(int dividend, int divisor)>
30. statični int max(int a, int b) : Ta metoda vrne večjo od dveh vrednosti int, kot če bi poklicala Math.max.
Sintaksa:
public static int max(int a, int b)>
31. statični int min(int a, int b) : Ta metoda vrne manjšo od dveh vrednosti int, kot če bi poklicala Math.min.
Sintaksa:
public static int min(int a, int b)>
32. statični int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix) : Ta metoda razčleni argument CharSequence kot nepredznačeno int v podanem radixu, ki se začne pri podanem beginIndex in sega do endIndex – 1.
Sintaksa:
public static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException>
33. statični int parseUnsignedInt(String s) : Ta metoda razčleni argument niza kot nepredznačeno decimalno celo število.
Sintaksa:
public static int parseUnsignedInt(String s) throws NumberFormatException>
34. statični int parseUnsignedInt(String s, int radix) : Ta metoda razčleni argument niza kot nepredznačeno celo število v korenu, ki ga določa drugi argument.
Sintaksa:
public static int parseUnsignedInt(String s, int radix) throws NumberFormatException>
35. statični int remainderUnsigned(int dividenda, int divizor) : Ta metoda vrne nepredznačeni ostanek deljenja prvega argumenta z drugim, pri čemer se vsak argument in rezultat razlagata kot nepredznačena vrednost.
Sintaksa:
public static int remainderUnsigned(int dividend, int divisor)>
36. statična int vsota (int a, int b) : Ta metoda sešteje dve celi števili v skladu z operatorjem +.
Sintaksa:
public static int sum(int a, int b)>
37. statično dolgo toUnsignedLong(int x) : Ta metoda pretvori argument v dolgo z nepredznačeno pretvorbo.
Sintaksa:
public static long toUnsignedLong(int x)>
38. statični niz toUnsignedString(int i) : Ta metoda vrne nizovno predstavitev argumenta kot decimalno vrednost brez predznaka.
Sintaksa:
public static String toUnsignedString(int i, int radix)>
Java
// Java program to illustrate> // various Integer class methods> public> class> Integer_test {> >public> static> void> main(String args[])> >{> >int> b =>55>;> >String bb =>'45'>;> >// Construct two Integer objects> >Integer x =>new> Integer(b);> >Integer y =>new> Integer(bb);> >// xxxValue can be used to retrieve> >// xxx type value from int value.> >// xxx can be int,byte,short,long,double,float> >System.out.println(>'bytevalue(x) = '> >+ x.byteValue());> >System.out.println(>'shortvalue(x) = '> >+ x.shortValue());> >System.out.println(>'intvalue(x) = '> + x.intValue());> >System.out.println(>'longvalue(x) = '> >+ x.longValue());> >System.out.println(>'doublevalue(x) = '> >+ x.doubleValue());> >System.out.println(>'floatvalue(x) = '> >+ x.floatValue());> >int> value =>45>;> >// bitcount() : can be used to count set bits> >// in twos complement form of the number> >System.out.println(>'Integer.bitcount(value)='> >+ Integer.bitCount(value));> >// numberOfTrailingZeroes and numberOfLeadingZeroes> >// can be used to count prefix and postfix sequence> >// of 0> >System.out.println(> >'Integer.numberOfTrailingZeros(value)='> >+ Integer.numberOfTrailingZeros(value));> >System.out.println(> >'Integer.numberOfLeadingZeros(value)='> >+ Integer.numberOfLeadingZeros(value));> >// highestOneBit returns a value with one on highest> >// set bit position> >System.out.println(>'Integer.highestOneBit(value)='> >+ Integer.highestOneBit(value));> >// highestOneBit returns a value with one on lowest> >// set bit position> >System.out.println(>'Integer.lowestOneBit(value)='> >+ Integer.lowestOneBit(value));> >// reverse() can be used to reverse order of bits> >// reverseBytes() can be used to reverse order of> >// bytes> >System.out.println(>'Integer.reverse(value)='> >+ Integer.reverse(value));> >System.out.println(>'Integer.reverseBytes(value)='> >+ Integer.reverseBytes(value));> >// signum() returns -1,0,1 for negative,0 and> >// positive values> >System.out.println(>'Integer.signum(value)='> >+ Integer.signum(value));> >// hashcode() returns hashcode of the object> >int> hash = x.hashCode();> >System.out.println(>'hashcode(x) = '> + hash);> >// equals returns boolean value representing> >// equality> >boolean> eq = x.equals(y);> >System.out.println(>'x.equals(y) = '> + eq);> >// compare() used for comparing two int values> >int> e = Integer.compare(x, y);> >System.out.println(>'compare(x,y) = '> + e);> >// compareTo() used for comparing this value with> >// some other value> >int> f = x.compareTo(y);> >System.out.println(>'x.compareTo(y) = '> + f);> >}> }> |
>
>
Izhod:
bytevalue(x) = 55 shortvalue(x) = 55 intvalue(x) = 55 longvalue(x) = 55 doublevalue(x) = 55.0 floatvalue(x) = 55.0 Integer.bitcount(value)=4 Integer.numberOfTrailingZeros(value)=0 Integer.numberOfLeadingZeros(value)=26 Integer.highestOneBit(value)=32 Integer.lowestOneBit(value)=1 Integer.reverse(value)=-1275068416 Integer.reverseBytes(value)=754974720 Integer.signum(value)=1 hashcode(x) = 55 x.equals(y) = false compare(x,y) = 1 x.compareTo(y) = 1>
Inicializacija razreda ovojnice Integer v Javi:
Vrsta 1: Neposredna inicializacija:
Konstantni objekt razreda Integer bo ustvarjen znotraj prostora konstant v pomnilniku kopice. Prostor konstant: Za boljše razumevanje si lahko samo predstavljamo, da je v pomnilniku kopice nekaj prostora za konstante.
primer:
Integer x = 200; //initializing directly x = 300; //modifying x x = 10; //modifying x again>
Celo število x = 200
- Prevajalnik pretvori zgornji stavek v: Integer x=Integer.valueOf(200) . To je znano kot Avtoboks . Primitivna cela vrednost 200 se pretvori v objekt.
(Za razumevanje Autoboxing & Unboxing preverite tukaj: )
- x kaže na 200, ki je prisoten v prostoru konstant. Glejte sliko 1.

Slika 1
x = 300
- Samodejno pakiranje se znova izvede, ker je x objekt razreda Integer, ki je neposredno inicializiran.
- Opomba: Neposredno inicializiranega objekta(x) ni mogoče spremeniti, ker je konstanta. Ko poskušamo spremeniti objekt s kazanjem na novo konstanto (300), bo stara konstanta (200) prisotna v pomnilniku kopice, vendar bo objekt kazal na novo konstanto.
- x kaže na 300, ki je prisoten v prostoru konstant. Glejte sliko 2.

Slika 2
x = 10
- Opomba: Privzeto za vrednosti od -128 do 127 metoda Integer.valueOf() ne bo ustvarila novega primerka Integer. Vrne vrednost iz predpomnilnika.
- x točke 10, ki je prisoten v predpomnilniku.

Slika 3
Če naslednjič dodelimo x = 200 ali x=300, bo kazalo na vrednost 200 ali 300, ki je že prisotna v prostoru konstant. Če x dodelimo vrednosti, ki niso ti dve vrednosti, potem ustvari novo konstanto.
(Za boljše razumevanje preglejte temo Primerjava razredov ovojnice Integer)
Vrsta 2: Dinamična inicializacija:
Objekt razreda Integer, ki ni konstanta, bo ustvarjen zunaj prostora konstant. Prav tako ustvari konstanto Integer znotraj prostora konstant. Spremenljivka bo kazala na objekt Integer in ne na konstanto Integer.
primer:
Integer a = new Integer(250); //Initializing dynamically a = 350; //Type 1 initialization>
Celo število a = novo celo število (250)
- 250 se ustvarja znotraj in zunaj prostora konstant. Spremenljivka 'a' bo kazala na vrednost, ki je zunaj prostora konstant. Glejte sliko 4.

Slika 4
a = 350;
- Po samodejnem pakiranju bo 'a' kazal na 350. Glejte sliko 5.

Slika 5
Če naslednjič dodelimo a = 250, ne bo pokazal na že prisoten objekt z isto vrednostjo, temveč bo ustvaril nov objekt.
Reference: Uradna dokumentacija Java