Kokonaislukuluokka on primitiivityypin int kääreluokka, joka sisältää useita menetelmiä int-arvon tehokkaaseen käsittelyyn, kuten sen muuntamiseen merkkijonoesitykseksi ja päinvastoin. Integer-luokan objektilla voi olla yksi int-arvo.
Rakentajat:
- Kokonaisluku(int b): Luo kokonaislukuobjektin, joka alustetaan annetulla arvolla.
Syntaksi:
public Integer(int b)>
Parametrit:
b : value with which to initialize>
- Kokonaisluku(merkkijono s): Luo kokonaislukuobjektin, joka on alustettu merkkijonoesityksen tarjoamalla int-arvolla. Oletuskantaluku on 10.
Syntaksi:
public Integer(String s) throws NumberFormatException>
Parametrit:
s : string representation of the int value>
Heitot:
NumberFormatException : If the string provided does not represent any int value.>
Menetelmät:
1. toString() : Palauttaa int-arvoa vastaavan merkkijonon.
Syntaksi:
public String toString(int b)>
Parametrit:
b : int value for which string representation required.>
2. toHexString() : Palauttaa int-arvoa vastaavan merkkijonon heksadesimaalimuodossa, eli se palauttaa merkkijonon, joka edustaa int-arvoa heksadesimaalimuodossa-[0-9][a-f]
Syntaksi:
public String toHexString(int b)>
Parametrit:
b : int value for which hex string representation required.>
3. tooktaalimerkkijono() : Palauttaa int-arvoa vastaavan merkkijonon oktaalimuodossa, eli se palauttaa merkkijonon, joka edustaa int-arvoa oktaalimerkkeinä-[0-7]
Syntaksi:
public String toOctalString(int b)>
Parametrit:
b : int value for which octal string representation required.>
4. toBinaryString() : Palauttaa int-arvoa vastaavan merkkijonon binäärinumeroina, eli se palauttaa merkkijonon, joka edustaa int-arvoa heksadesimaalimerkeinä-[0/1]
Syntaksi:
public String toBinaryString(int b)>
Parametrit:
b : int value for which binary string representation required.>
5. valueOf() : palauttaa kokonaisluku-objektin, joka on alustettu annetulla arvolla.
Syntaksi:
public static Integer valueOf(int b)>
Parametrit:
b : a int value>
- valueOf(merkkijono val,int kantaluku) : Toinen ylikuormitettu funktio, joka tarjoaa toiminnon, joka on samanlainen kuin uusi kokonaisluku(Integer.parseInteger(val,radix))
Syntaksi:
public static Integer valueOf(String val, int radix) throws NumberFormatException>
Parametrit:
val : String to be parsed into int value radix : radix to be used while parsing>
Heitot:
NumberFormatException : if String cannot be parsed to a int value in given radix.>
- valueOf(merkkijono val) : Toinen ylikuormitettu funktio, joka tarjoaa toiminnon, joka on samanlainen kuin uusi Kokonaisluku(Integer.parseInt(val,10))
Syntaksi:
public static Integer valueOf(String s) throws NumberFormatException>
Parametrit:
s : a String object to be parsed as int>
Heitot:
int merkkijonoon
NumberFormatException : if String cannot be parsed to a int value in given radix.>
6. parseInt() : palauttaa int-arvon jäsentämällä merkkijonon annetulla kantaluvulla. Poikkeaa arvosta valueOf(), koska se palauttaa primitiivisen int-arvon ja valueOf() palauttaa kokonaisluvun.
Syntaksi:
public static int parseInt(String val, int radix) throws NumberFormatException>
Parametrit:
val : String representation of int radix : radix to be used while parsing>
Heitot:
NumberFormatException : if String cannot be parsed to a int value in given radix.>
- Toinen ylikuormitettu menetelmä, joka sisältää vain merkkijonon parametrina, kantaluku on oletuksena 10.
Syntaksi:
public static int parseInt(String val) throws NumberFormatException>
Parametrit:
val : String representation of int>
Heitot:
NumberFormatException : if String cannot be parsed to a int value in given radix.>
7. getInteger(): palauttaa kokonaisluku-objektin, joka edustaa annettuun järjestelmän ominaisuuteen liittyvää arvoa tai nollaa, jos sitä ei ole olemassa.
Syntaksi:
public static Integer getInteger(String prop)>
Parametrit:
prop : System property>
- Toinen ylikuormitettu menetelmä, joka palauttaa toisen argumentin, jos ominaisuutta ei ole olemassa, eli se ei palauta nulla, vaan käyttäjän toimittaman oletusarvon.
Syntaksi:
public static Integer getInteger(String prop, int val)>
Parametrit:
prop : System property val : value to return if property does not exist.>
- Toinen ylikuormitettu menetelmä, joka jäsentää arvon palautetun arvon mukaan, eli jos palautettava arvo alkaa numerolla #, niin se jäsennetään heksadesimaalilukuna, jos alkaa 0:lla, niin se jäsennetään oktaaliksi, muuten desimaaliksi.
Syntaksi:
public static Integer getInteger(String prop, Integer val)>
Parametrit:
prop : System property val : value to return if property does not exist.>
8. decode() : palauttaa kokonaislukuobjektin, joka sisältää annetun merkkijonon dekoodatun arvon. Annetun merkkijonon on oltava seuraavaa muotoa, muuten NumberFormatException heitetään-
Desimaali- (Sign)Decimal_Number
Hex- (Sign)0xHex_Digits
Hex- (Sign)0XHex_Digits
Octaali- (Sign)0″oktaali_numerot
Syntaksi:
public static Integer decode(String s) throws NumberFormatException>
Parametrit:
s : encoded string to be parsed into int val>
Heitot:
NumberFormatException : If the string cannot be decoded into a int value>
9. rotateLeft() : Palauttaa primitiivisen int:n kiertämällä tietyn etäisyyden jäljellä olevia bittejä annetun arvon kahden komplementin muodossa. Vasemmalle pyöritettäessä merkitsevin bitti siirtyy oikealle puolelle tai vähiten merkitsevään kohtaan eli tapahtuu bittien syklistä liikettä. Negatiivinen etäisyys tarkoittaa oikeaa kiertoa.
Syntaksi:
public static int rotateLeft(int val, int dist)>
Parametrit:
val : int value to be rotated dist : distance to rotate>
10. rotateRight() : Palauttaa primitiivisen int:n kiertämällä bittejä oikealle annetun etäisyyden verran annetun arvon kakkoskomplementtimuodossa. Oikealle pyöritettäessä vähiten merkitsevä bitti siirtyy vasemmalle puolelle, eli tapahtuu eniten merkitsevä bitti eli bittien syklinen liike. Negatiivinen etäisyys tarkoittaa kiertoa vasemmalle.
Syntaksi:
public static int rotateRight(int val, int dist)>
Parametrit:
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>));> >}> }> |
>
>
Lähtö:
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() : palauttaa tätä kokonaislukuobjektia vastaavan tavuarvon.
Syntaksi:
public byte byteValue()>
12. shortValue() : palauttaa lyhyen arvon, joka vastaa tätä kokonaislukuobjektia.
Syntaksi:
public short shortValue()>
13. intValue() : palauttaa tätä kokonaislukuobjektia vastaavan int-arvon.
Syntaksi:
public int intValue()>
13. longValue() : palauttaa tätä kokonaislukuobjektia vastaavan pitkän arvon.
Syntaksi:
public long longValue()>
14. doubleValue() : palauttaa tätä kokonaislukuobjektia vastaavan kaksoisarvon.
Syntaksi:
public double doubleValue()>
15. floatValue() : palauttaa kelluvan arvon, joka vastaa tätä kokonaislukuobjektia.
Syntaksi:
public float floatValue()>
16. hashCode() : palauttaa tätä kokonaislukuobjektia vastaavan hash-koodin.
Syntaksi:
public int hashCode()>
17. bitcount() : Palauttaa joukkobittien määrän annetun kokonaisluvun kaksinkertaisena komplementtina.
Syntaksi:
public static int bitCount(int i)>
Parametrit:
i : int value whose set bits to count>
18. LukuOfLeadingZeroes() : Palauttaa arvon korkeinta 1 bittiä edeltävän luvun 0 bittien lukumäärän kaksinkertaisessa komplementtimuodossa, eli jos kakkoskomplementtimuodossa oleva luku on 0000 1010 0000 0000, tämä funktio palauttaisi arvon 4.
Syntaksi:
public static int numberofLeadingZeroes(int i)>
Parametrit:
i : int value whose leading zeroes to count in twos complement form>
19. TrailingZeroes() : Palauttaa arvon 0-bittien määrän viimeisen 1 bitin jälkeen arvon kahdella komplementtimuodossa, eli jos kakkoskomplementtimuodossa oleva luku on 0000 1010 0000 0000, tämä funktio palauttaisi 9.
Syntaksi:
public static int numberofTrailingZeroes(int i)>
Parametrit:
i : int value whose trailing zeroes to count in twos complement form>
20. korkeinOneBit() : Palauttaa arvon, jossa on korkeintaan yksi bitti, korkeimman yhden bitin kohdassa annetussa arvossa. Palauttaa 0, jos annettu arvo on 0, eli jos luku on 0000 0000 0000 1111, niin tämä funktio palauttaa 0000 0000 0000 1000 (yksi korkein yksi bitti annetussa numerossa)
Syntaksi:
public static int highestOneBit(int i)>
Parametrit:
i : int value>
21. LowestOneBit() : Palauttaa arvon, jossa on korkeintaan yksi bitti annetussa arvossa alimman yhden bitin kohdassa. Palauttaa 0, jos annettu arvo on 0, eli jos luku on 0000 0000 0000 1111, niin tämä funktio palauttaa 0000 0000 0000 0001 (yksi korkein yksi bitti annetussa numerossa)
Syntaksi:
public static int LowestOneBit(int i)>
Parametrit:
i : int value>
22. on yhtä kuin() : Käytetään vertaamaan kahden kokonaislukuobjektin yhtäläisyyttä. Tämä menetelmä palauttaa arvon tosi, jos molemmat objektit sisältävät saman int-arvon. Sitä tulisi käyttää vain tasa-arvon tarkistamisessa. Kaikissa muissa tapauksissa vertaa-menetelmää tulisi suosia.
Syntaksi:
public boolean equals(Object obj)>
Parametrit:
obj : object to compare with>
23. vertaa() : Käytetään kahden kokonaislukuobjektin vertaamiseen numeerisen yhtälön saamiseksi. Tätä tulisi käyttää, kun verrataan kahta kokonaislukuarvoa numeerista yhtäläisyyttä varten, koska se erottaisi pienemmän ja suuremman arvon. Palauttaa arvon, joka on pienempi kuin 0,0, arvon, joka on suurempi kuin 0 pienempi kuin, yhtä suuri ja suurempi kuin.
Syntaksi:
public int compareTo(Integer b)>
Parametrit:
b : Integer object to compare with>
24. vertaa() : Käytetään kahden primitiivisen int-arvon vertaamiseen numeeriselle tasa-arvolle. Koska se on staattinen menetelmä, sitä voidaan käyttää luomatta mitään kokonaislukuobjektia.
Syntaksi:
public static int compare(int x,int y)>
Parametrit:
x : int value y : another int value>
25. merkki() : palauttaa -1 negatiivisille arvoille, 0 arvoille 0 ja +1 arvoille, jotka ovat suurempia kuin 0.
Syntaksi:
public static int signum(int val)>
Parametrit:
val : int value for which signum is required.>
26. käänteinen() : palauttaa primitiivisen int-arvon, joka kääntää bittien järjestyksen annetun int-arvon kahden komplementin muodossa.
Syntaksi:
public static int reverseBytes(int val)>
Parametrit:
val : int value whose bits to reverse in order.>
27. reverseBytes() : palauttaa primitiivisen int-arvon, joka kääntää tavujen järjestyksen annetun int-arvon kahden komplementin muodossa.
Syntaksi:
public static int reverseBytes(int val)>
Parametrit:
val : int value whose bits to reverse in order.>
28. staattinen int vertaileUnsigned(int x, int y) : Tämä menetelmä vertaa kahta int-arvoa numeerisesti ja käsittelee arvoja etumerkittöminä.
Syntaksi:
public static int compareUnsigned(int x, int y)>
29. staattinen int divideUnsigned(int osinko, int jakaja) : Tämä menetelmä palauttaa etumerkittömän osamäärän ensimmäisen argumentin jakamisesta toisella, jossa jokainen argumentti ja tulos tulkitaan etumerkittömäksi arvoksi.
Syntaksi:
public static int divideUnsigned(int dividend, int divisor)>
30. staattinen int max(int a, int b) : Tämä menetelmä palauttaa suuremman kahdesta int-arvosta ikään kuin kutsumalla Math.max.
Syntaksi:
public static int max(int a, int b)>
31. staattinen int min(int a, int b) : Tämä menetelmä palauttaa pienemmän kahdesta int-arvosta ikään kuin kutsumalla Math.min.
Syntaksi:
public static int min(int a, int b)>
32. static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int kantaluku) : Tämä menetelmä jäsentää CharSequence-argumentin etumerkittömänä int-arvona määritetyssä kantaluvussa alkaen määritetystä beginIndexistä ja ulottuen endIndex-1:een.
Syntaksi:
public static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException>
33. static int parseUnsignedInt(String s) : Tämä menetelmä jäsentää merkkijonoargumentin etumerkittömänä desimaalikokonaislukuna.
Syntaksi:
public static int parseUnsignedInt(String s) throws NumberFormatException>
34. staattinen int parseUnsignedInt(String s, int kantaluku) : Tämä menetelmä jäsentää merkkijonoargumentin etumerkittömänä kokonaislukuna toisen argumentin määrittämässä kantaluvussa.
Syntaksi:
public static int parseUnsignedInt(String s, int radix) throws NumberFormatException>
35. staattinen int jäännösUnsigned(int osinko, int jakaja) : Tämä menetelmä palauttaa etumerkittömän jäännöksen ensimmäisen argumentin jakamisesta toisella, jossa jokainen argumentti ja tulos tulkitaan etumerkittömäksi arvoksi.
Syntaksi:
public static int remainderUnsigned(int dividend, int divisor)>
36. staattinen int summa(int a, int b) : Tämä menetelmä lisää kaksi kokonaislukua yhteen +-operaattorin mukaisesti.
Syntaksi:
public static int sum(int a, int b)>
37. staattinen pitkä - allekirjoittamatonPitkä(int x) : Tämä menetelmä muuntaa argumentin pitkäksi etumerkittömällä muunnolla.
Syntaksi:
public static long toUnsignedLong(int x)>
38. Static String toUnsignedString(int i) : Tämä menetelmä palauttaa argumentin merkkijonoesityksen etumerkittömänä desimaaliarvona.
Syntaksi:
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);> >}> }> |
>
>
Lähtö:
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>
Kokonaislukujen kääreluokan alustus Javassa:
Tyyppi 1: Alustus suoraan:
operaattorit python-ohjelmoinnissa
Integer-luokan vakioobjekti luodaan kasamuistin vakioiden tilaan. Vakioiden avaruus: On vain kuviteltava paremman ymmärtämisen vuoksi, että kasan muistissa on tilaa vakioille.
Esimerkki:
Integer x = 200; //initializing directly x = 300; //modifying x x = 10; //modifying x again>
Kokonaisluku x = 200
- Kääntäjä muuntaa yllä olevan lauseen muotoon: Kokonaisluku x=Integer.valueOf(200) . Tämä tunnetaan nimellä Autoboxing . Alkuperäinen kokonaislukuarvo 200 muunnetaan objektiksi.
(Ymmärtääksesi Autoboxing & Unboxingin, tarkista tämä: )
- x osoittaa arvoa 200, joka on vakioavaruudessa. Katso kuva 1.

Kuva 1
x = 300
- Autoboxing tehdään uudelleen, koska x on Integer-luokan objekti, joka alustetaan suoraan.
- Huomautus: Suoraan alustettua objektia (x) ei voi muokata, koska se on vakio. Kun yritämme muokata objektia osoittamalla uuteen vakioon(300), vanha vakio(200) on keon muistissa, mutta objekti osoittaa uutta vakiota.
- x osoittaa arvoa 300, joka on vakioavaruudessa. Katso kuva 2.

Kuva 2
x = 10
- Huomautus: Oletusarvon mukaan Integer.valueOf()-metodi ei luo uutta kokonaisluvun esiintymää. Se palauttaa arvon välimuististaan.
- x pistettä 10, joka on kätkössä.

Kuva 3
Jos annamme seuraavan kerran x = 200 tai x=300, se osoittaa arvoon 200 tai 300, joka on jo olemassa vakioavaruudessa. Jos annamme x:lle muita arvoja kuin nämä kaksi arvoa, se luo uuden vakion.
(Tarkista kokonaislukujen kääreluokan vertailuaihe ymmärtääksesi paremmin)
Tyyppi 2: Alustus dynaamisesti:
Kokonaislukuluokan objekti, joka ei ole vakio, luodaan vakioavaruuden ulkopuolelle. Se myös luo kokonaislukuvakion vakioiden avaruuteen. Muuttuja osoittaa kokonaisluku-objektiin eikä kokonaislukuvakioon.
Esimerkki:
Integer a = new Integer(250); //Initializing dynamically a = 350; //Type 1 initialization>
Kokonaisluku a = uusi kokonaisluku(250)
- 250 luodaan vakioavaruuden sisällä ja ulkopuolella. Muuttuja 'a' osoittaa arvoa, joka on vakioavaruuden ulkopuolella. Katso kuva 4.

Kuva 4
a = 350;
- Autoboxingin jälkeen 'a' osoittaa 350. Katso kuva 5.

Kuva 5
Jos annamme seuraavan kerran a = 250, se ei osoita objektiin, jolla on jo sama arvo, vaan se luo uuden objektin.
Viitteet: Virallinen Java-dokumentaatio