logo

Java.lang.Integer-klass i Java

Heltalsklass är en omslagsklass för den primitiva typen int som innehåller flera metoder för att effektivt hantera ett int-värde som att konvertera det till en strängrepresentation och vice versa. Ett objekt av klassen Integer kan innehålla ett enda int-värde.

Konstruktörer:



  • Heltal(int b): Skapar ett heltalsobjekt initierat med det angivna värdet.

Syntax:

public Integer(int b)>

Parametrar:

b : value with which to initialize>
  • Heltal(sträng s): Skapar ett heltalsobjekt initierat med int-värdet som tillhandahålls av strängrepresentation. Standardradix antas vara 10.

Syntax:



public Integer(String s) throws NumberFormatException>

Parametrar:

s : string representation of the int value>

Kastar:

NumberFormatException : If the string provided does not represent any int value.>

Metoder:



1. toString() : Returnerar strängen som motsvarar int-värdet.

Syntax:

public String toString(int b)>

Parametrar:

b : int value for which string representation required.>

2. toHexString() : Returnerar strängen som motsvarar int-värdet i hexadecimal form, det vill säga den returnerar en sträng som representerar int-värdet med hexadecimala tecken-[0-9][a-f]

Syntax:

public String toHexString(int b)>

Parametrar:

b : int value for which hex string representation required.>

3. toOctalString() : Returnerar strängen som motsvarar int-värdet i oktal form, det vill säga den returnerar en sträng som representerar int-värdet i oktala tecken-[0-7]

Syntax:

public String toOctalString(int b)>

Parametrar:

b : int value for which octal string representation required.>

4. toBinaryString() : Returnerar strängen som motsvarar int-värdet i binära siffror, det vill säga den returnerar en sträng som representerar int-värdet i hexadecimala tecken-[0/1]

Syntax:

public String toBinaryString(int b)>

Parametrar:

b : int value for which binary string representation required.>

5. valueOf() : returnerar heltalsobjektet initierat med det angivna värdet.

Syntax:

public static Integer valueOf(int b)>

Parametrar:

b : a int value>
  • valueOf(String val,int radix) : En annan överbelastad funktion som ger en funktion som liknar nya Integer(Integer.parseInteger(val,radix))

Syntax:

public static Integer valueOf(String val, int radix) throws NumberFormatException>

Parametrar:

val : String to be parsed into int value radix : radix to be used while parsing>

Kastar:

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • valueOf(String val) : En annan överbelastad funktion som ger en funktion som liknar nya Integer(Integer.parseInt(val,10))

Syntax:

public static Integer valueOf(String s) throws NumberFormatException>

Parametrar:

s : a String object to be parsed as int>

Kastar:

NumberFormatException : if String cannot be parsed to a int value in given radix.>

6. parseInt() : returnerar int-värde genom att analysera strängen i angiven radix. Skiljer sig från valueOf() eftersom det returnerar ett primitivt int-värde och valueOf() returnerar Integer-objekt.

Syntax:

public static int parseInt(String val, int radix) throws NumberFormatException>

Parametrar:

val : String representation of int radix : radix to be used while parsing>

Kastar:

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • En annan överbelastad metod som endast innehåller String som parameter, radix är som standard inställd på 10.

Syntax:

public static int parseInt(String val) throws NumberFormatException>

Parametrar:

val : String representation of int>

Kastar:

NumberFormatException : if String cannot be parsed to a int value in given radix.>

7. getInteger(): returnerar Integer-objektet som representerar värdet som är associerat med den givna systemegenskapen eller null om det inte finns.

Syntax:

public static Integer getInteger(String prop)>

Parametrar:

prop : System property>
  • En annan överbelastad metod som returnerar det andra argumentet om egenskapen inte existerar, det vill säga att den inte returnerar null utan ett standardvärde som tillhandahålls av användaren.

Syntax:

public static Integer getInteger(String prop, int val)>

Parametrar:

prop : System property val : value to return if property does not exist.>
  • En annan överbelastad metod som analyserar värdet enligt det returnerade värdet, det vill säga om värdet som returneras börjar med #, så analyseras det som hexadecimalt, om det börjar med 0, så analyseras det som oktalt, annars decimalt.

Syntax:

public static Integer getInteger(String prop, Integer val)>

Parametrar:

prop : System property val : value to return if property does not exist.>

8. avkoda() : returnerar ett heltalsobjekt som innehåller det avkodade värdet för den angivna strängen. Den angivna strängen måste vara av följande form, annars kommer NumberFormatException att kastas-
Decimal- (tecken)Decimal_tal
Hex- (tecken) 0xHex_Siffror
Hex- (tecken) 0XHex_Digits
Octal- (Tecken)0″Octal_Digits

Syntax:

public static Integer decode(String s) throws NumberFormatException>

Parametrar:

s : encoded string to be parsed into int val>

Kastar:

NumberFormatException : If the string cannot be decoded into a int value>

9. rotateLeft() : Returnerar en primitiv int genom att rotera bitarna kvar av ett givet avstånd i tvås komplementform av det angivna värdet. Vid vridning åt vänster flyttas den mest signifikanta biten till höger sida, eller minst signifikanta position, dvs. cyklisk rörelse av bitar äger rum. Negativt avstånd betyder högerrotation.

Syntax:

public static int rotateLeft(int val, int dist)>

Parametrar:

val : int value to be rotated dist : distance to rotate>

10. rotateRight() : Returnerar en primitiv int genom att rotera bitarna åt höger med ett givet avstånd i tvåkomplementformen av det angivna värdet. När man roterar åt höger flyttas den minst signifikanta biten till vänster sida, eller den mest signifikanta positionen, dvs cyklisk rörelse av bitar äger rum. Negativt avstånd betyder vänsterrotation.

Syntax:

public static int rotateRight(int val, int dist)>

Parametrar:

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>));> >}> }>

>

>

Produktion:

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() : returnerar ett bytevärde som motsvarar detta heltalsobjekt.

Syntax:

public byte byteValue()>

12. shortValue() : returnerar ett kort värde som motsvarar detta heltalsobjekt.

Syntax:

public short shortValue()>

13. intValue() : returnerar ett int-värde som motsvarar detta heltalsobjekt.

Syntax:

public int intValue()>

13. longValue() : returnerar ett långt värde som motsvarar detta heltalsobjekt.

Syntax:

public long longValue()>

14. doubleValue() : returnerar ett dubbelt värde som motsvarar detta heltalsobjekt.

Syntax:

public double doubleValue()>

15. floatValue() : returnerar ett flytvärde som motsvarar detta heltalsobjekt.

Syntax:

public float floatValue()>

16. hashCode() : returnerar hashkoden som motsvarar detta heltalsobjekt.

Syntax:

public int hashCode()>

17. bitcount() : Returnerar antalet uppsättningsbitar i två-komplement av det angivna heltal.

Syntax:

public static int bitCount(int i)>

Parametrar:

i : int value whose set bits to count>

18. numberOfLeadingZeroes() : Returnerar antalet 0 bitar som föregår den högsta 1-biten i tvåkomplementformen av värdet, d.v.s. om talet i tvåkomplementformen är 0000 1010 0000 0000, då skulle denna funktion returnera 4.

Syntax:

public static int numberofLeadingZeroes(int i)>

Parametrar:

i : int value whose leading zeroes to count in twos complement form>

19. numberOfTrailingZeroes() : Returnerar antalet 0 bitar efter den sista 1 biten i två-komplementformen av värdet, d.v.s. om talet i tvåkomplementformen är 0000 1010 0000 0000, då skulle denna funktion returnera 9.

Syntax:

handledning för java
public static int numberofTrailingZeroes(int i)>

Parametrar:

i : int value whose trailing zeroes to count in twos complement form>

20. högstaOneBit() : Returnerar ett värde med högst en enstaka bit, i positionen som högst en bit i det angivna värdet. Returnerar 0 om det angivna värdet är 0, det vill säga om talet är 0000 0000 0000 1111, då returnerar denna funktion 0000 0000 0000 1000 (en högst en bit i det givna talet)

Syntax:

public static int highestOneBit(int i)>

Parametrar:

i : int value>

21. LowestOneBit() : Returnerar ett värde med högst en enstaka bit, i positionen som lägst en bit i det angivna värdet. Returnerar 0 om det angivna värdet är 0, det vill säga om talet är 0000 0000 0000 1111, då returnerar denna funktion 0000 0000 0000 0001 (en högst en bit i det givna talet)

Syntax:

public static int LowestOneBit(int i)>

Parametrar:

i : int value>

22. är lika med(): Används för att jämföra likheten mellan två heltalsobjekt. Denna metod returnerar true om båda objekten innehåller samma int-värde. Bör endast användas om man kontrollerar jämlikhet. I alla andra fall bör compareTo-metoden föredras.

Syntax:

public boolean equals(Object obj)>

Parametrar:

obj : object to compare with>

23. compareTo() : Används för att jämföra två heltalsobjekt för numerisk likhet. Detta bör användas när man jämför två heltalsvärden för numerisk likhet eftersom det skulle skilja mellan mindre och större värden. Returnerar ett värde mindre än 0,0, ett värde större än 0 för mindre än, lika med och större än.

Syntax:

public int compareTo(Integer b)>

Parametrar:

b : Integer object to compare with>

24. jämför() : Används för att jämföra två primitiva int-värden för numerisk likhet. Eftersom det är en statisk metod kan den därför användas utan att skapa något objekt av heltal.

Syntax:

public static int compare(int x,int y)>

Parametrar:

x : int value y : another int value>

25. tecken() : returnerar -1 för negativa värden, 0 för 0 och +1 för värden större än 0.

Syntax:

public static int signum(int val)>

Parametrar:

val : int value for which signum is required.>

26. omvänd() : returnerar ett primitivt int-värde som omvänder ordningen på bitar i tvås komplementform av det givna int-värdet.

Syntax:

public static int reverseBytes(int val)>

Parametrar:

val : int value whose bits to reverse in order.>

27. reverseBytes() : returnerar ett primitivt int-värde som omvänder ordningen på bytes i tvås komplementform av det givna int-värdet.

Syntax:

public static int reverseBytes(int val)>

Parametrar:

val : int value whose bits to reverse in order.>

28. statisk int compareUnsigned(int x, int y) : Denna metod jämför två int-värden som numeriskt behandlar värdena som osignerade.

Syntax:

public static int compareUnsigned(int x, int y)>

29. statisk int divideUnsigned(int dividend, int divisor) : Denna metod returnerar den osignerade kvoten för att dividera det första argumentet med det andra där varje argument och resultatet tolkas som ett osignerat värde.

Syntax:

public static int divideUnsigned(int dividend, int divisor)>

30. statisk int max(int ​​a, int b) : Denna metod returnerar det största av två int-värden som om genom att anropa Math.max.

Syntax:

public static int max(int a, int b)>

31. statisk int min(int a, int b) : Den här metoden returnerar det minsta av två int-värden som genom att anropa Math.min.

Syntax:

public static int min(int a, int b)>

32. statisk int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix) : Den här metoden analyserar CharSequence-argumentet som en osignerad int i den angivna radixen, som börjar vid det angivna beginIndex och sträcker sig till endIndex – 1.

Syntax:

public static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException>

33. statisk int parseUnsignedInt(String s) : Den här metoden analyserar strängargumentet som ett decimalt heltal utan tecken.

Syntax:

public static int parseUnsignedInt(String s) throws NumberFormatException>

34. statisk int parseUnsignedInt(String s, int radix) : Den här metoden analyserar strängargumentet som ett heltal utan tecken i den radix som anges av det andra argumentet.

Syntax:

public static int parseUnsignedInt(String s, int radix) throws NumberFormatException>

35. statisk int restOsignerad(int dividend, int divisor) : Denna metod returnerar den osignerade resten från att dividera det första argumentet med det andra där varje argument och resultatet tolkas som ett osignerat värde.

Syntax:

public static int remainderUnsigned(int dividend, int divisor)>

36. statisk int summa(int a, int b) : Den här metoden adderar två heltal enligt operatorn +.

Syntax:

public static int sum(int a, int b)>

37. static long toUnsignedLong(int x) : Den här metoden konverterar argumentet till en lång genom en osignerad konvertering.

Syntax:

public static long toUnsignedLong(int x)>

38. statisk sträng till UnsignedString(int i) : Den här metoden returnerar en strängrepresentation av argumentet som ett decimalvärde utan tecken.

Syntax:

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);> >}> }>

>

>

Utgång:

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>

Initialisering av integer wrapper-klass i Java:

Typ 1: Initiera direkt:

Ett konstant objekt av heltalsklassen kommer att skapas i utrymmet av konstanter i högminnet. Utrymme av konstanter: Det är bara att föreställa sig för bättre förståelse att det finns lite utrymme för konstanter i högminnet.

Exempel:

Integer x = 200; //initializing directly x = 300; //modifying x x = 10; //modifying x again>

Heltal x = 200

  • Kompilatorn konverterar ovanstående uttalande till: Heltal x=Integer.valueOf(200) . Detta är känt som Autoboxning . Det primitiva heltalsvärdet 200 omvandlas till ett objekt.

(För att förstå Autoboxing & Unboxing kolla här: )

  • x pekar på 200 som finns i konstanternas rymd. Se Fig. 1.
Exempel bild 1

figur 1

x = 300

  • Autoboxning görs igen eftersom x är ett heltalsklassobjekt som initieras direkt.
  • Notera: Det direkt initierade objektet(x) kan inte modifieras eftersom det är en konstant. När vi försöker modifiera objektet genom att peka på en ny konstant(300), kommer den gamla konstanten(200) att finnas i högminnet, men objektet kommer att peka på den nya konstanten.
  • x pekar på 300 som finns i konstanternas rymd. Se fig. 2.

Fig. 2

x = 10

  • Notera: Som standard för värdena -128 till 127 kommer metoden Integer.valueOf() inte att skapa en ny instans av Integer. Den returnerar ett värde från sin cache.
  • x poäng 10 som finns i cachen.

Fig. 3

Om vi ​​tilldelar x = 200 eller x=300 nästa gång, kommer det att peka på värdet 200 eller 300 som redan finns i konstanternas rymd. Om vi ​​tilldelar andra värden till x än dessa två värden, skapar det en ny konstant.

(Kontrollera ämnet för jämförelse av integer wrapper klass för bättre förståelse)

Typ 2: Initiering dynamiskt:

Ett heltalsklassobjekt som inte är en konstant kommer att skapas utanför konstanternas utrymme. Det skapar också en heltalskonstant inuti konstanternas utrymme. Variabeln kommer att peka på Integer-objektet och inte på Integer-konstanten.

Exempel:

Integer a = new Integer(250); //Initializing dynamically a = 350; //Type 1 initialization>

Heltal a = nytt heltal(250)

  • 250 skapas i och utanför konstanternas rum. Variabel 'a' kommer att peka på värdet som ligger utanför konstanternas utrymme. Se fig. 4.

Fig. 4

a = 350;

  • Efter autoboxning kommer 'a' att peka på 350. Se fig. 5.

Fig. 5

Om vi ​​tilldelar a = 250 nästa gång, kommer det inte att peka på objektet som redan finns med samma värde, det kommer att skapa ett nytt objekt.

Referenser: Officiell Java-dokumentation