logo

Klasa Java.lang.Integer w Javie

Klasa Integer jest klasą otaczającą typ pierwotny int, która zawiera kilka metod skutecznego radzenia sobie z wartością int, na przykład poprzez konwersję jej na reprezentację w postaci ciągu znaków i odwrotnie. Obiekt klasy Integer może przechowywać pojedynczą wartość typu int.

Konstruktorzy:

  • Liczba całkowita(int b): Tworzy obiekt Integer zainicjowany podaną wartością.

Składnia:



public Integer(int b)>

Parametry:

b : value with which to initialize>
  • Liczba całkowita(Ciąg s): Tworzy obiekt Integer zainicjowany wartością int podaną przez reprezentację w postaci ciągu znaków. Przyjmuje się, że domyślna podstawa wynosi 10.

Składnia:

public Integer(String s) throws NumberFormatException>

Parametry:

s : string representation of the int value>

Rzuca:

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

Metody:

1. doString() : Zwraca ciąg odpowiadający wartości int.

Składnia:

public String toString(int b)>

Parametry:

b : int value for which string representation required.>

2. doHexString() : Zwraca ciąg znaków odpowiadający wartości int w postaci szesnastkowej, czyli zwraca ciąg znaków reprezentujący wartość int w znakach szesnastkowych-[0-9][a-f]

Składnia:

sortowanie przez wybór Java
public String toHexString(int b)>

Parametry:

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

3. doOctalString() : Zwraca ciąg znaków odpowiadający wartości int w postaci ósemkowej, czyli zwraca ciąg znaków reprezentujący wartość int w znakach ósemkowych-[0-7]

Składnia:

public String toOctalString(int b)>

Parametry:

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

4. doBinaryString() : Zwraca ciąg znaków odpowiadający wartości int w cyfrach binarnych, czyli zwraca ciąg znaków reprezentujący wartość int w znakach szesnastkowych-[0/1]

Składnia:

public String toBinaryString(int b)>

Parametry:

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

5. wartość() : zwraca obiekt Integer zainicjowany podaną wartością.

Składnia:

public static Integer valueOf(int b)>

Parametry:

b : a int value>
  • wartość(ciąg wartości,int radix) : Kolejna przeciążona funkcja, która zapewnia funkcję podobną do nowej Integer(Integer.parseInteger(val,radix))

Składnia:

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

Parametry:

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

Rzuca:

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • wartośćOf(Wartość ciągu) : Kolejna przeciążona funkcja, która zapewnia funkcję podobną do nowej Integer(Integer.parseInt(val,10))

Składnia:

public static Integer valueOf(String s) throws NumberFormatException>

Parametry:

s : a String object to be parsed as int>

Rzuca:

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

6. parseInt() : zwraca wartość int poprzez analizę ciągu znaków w podanej podstawie. Różni się od valueOf() tym, że zwraca pierwotną wartość int, a valueOf() zwraca obiekt Integer.

Składnia:

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

Parametry:

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

Rzuca:

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • Kolejna przeciążona metoda zawierająca tylko String jako parametr, radix jest domyślnie ustawiony na 10.

Składnia:

public static int parseInt(String val) throws NumberFormatException>

Parametry:

val : String representation of int>

Rzuca:

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

7. pobierz liczbę całkowitą(): zwraca obiekt Integer reprezentujący wartość związaną z daną właściwością systemową lub null, jeśli nie istnieje.

Składnia:

public static Integer getInteger(String prop)>

Parametry:

prop : System property>
  • Kolejna przeciążona metoda, która zwraca drugi argument, jeśli właściwość nie istnieje, czyli nie zwraca wartości null, ale wartość domyślną podaną przez użytkownika.

Składnia:

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

Parametry:

prop : System property val : value to return if property does not exist.>
  • Inna przeciążona metoda, która analizuje wartość zgodnie ze zwróconą wartością, to znaczy, jeśli zwrócona wartość zaczyna się od #, jest analizowana jako szesnastkowa, jeśli zaczyna się od 0, jest analizowana jako ósemkowa, w przeciwnym razie jest analizowana jako dziesiętna.

Składnia:

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

Parametry:

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

8. dekodować() : zwraca obiekt Integer zawierający zdekodowaną wartość podanego ciągu. Podany ciąg musi mieć następującą formę, w przeciwnym razie zostanie zgłoszony wyjątek NumberFormatException-
Dziesiętny- (znak)Decimal_Number
Hex- (znak) 0xHex_Digits
Hex- (znak) 0XHex_Digits
Octal- (znak)0″Octal_Cyfr

Składnia:

public static Integer decode(String s) throws NumberFormatException>

Parametry:

s : encoded string to be parsed into int val>

Rzuca:

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

9. obróć w lewo() : Zwraca liczbę całkowitą typu int poprzez obracanie bitów pozostałych po podanej odległości w formie uzupełnienia do dwóch podanej wartości. Przy obrocie w lewo najbardziej znaczący bit przesuwany jest na prawą stronę lub pozycja najmniej znacząca, czyli następuje cykliczny ruch bitów. Odległość ujemna oznacza obrót w prawo.

Składnia:

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

Parametry:

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

10. obróć w prawo() : Zwraca liczbę całkowitą typu int poprzez obrócenie bitów w prawo o podaną odległość w postaci uzupełnienia dwójkowego podanej wartości. Przy obrocie w prawo, najmniej znaczący bit zostaje przesunięty w lewą stronę lub następuje najbardziej znacząca pozycja, czyli następuje cykliczny ruch bitów. Odległość ujemna oznacza obrót w lewo.

Składnia:

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

Parametry:

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

Jawa




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

>

>

Wyjście:

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. wartość bajtu() : zwraca wartość bajtu odpowiadającą temu obiektowi Integer.

Składnia:

public byte byteValue()>

12. krótkaWartość() : zwraca krótką wartość odpowiadającą temu obiektowi typu Integer.

Składnia:

public short shortValue()>

13. intValue() : zwraca wartość typu int odpowiadającą temu obiektowi typu Integer.

Składnia:

public int intValue()>

13. długaWartość() : zwraca długą wartość odpowiadającą temu obiektowi typu Integer.

Składnia:

public long longValue()>

14. podwójna wartość() : zwraca podwójną wartość odpowiadającą temu obiektowi typu Integer.

Składnia:

public double doubleValue()>

15. floatValue() : zwraca wartość zmiennoprzecinkową odpowiadającą temu obiektowi Integer.

Składnia:

public float floatValue()>

16. kod hash() : zwraca hashcode odpowiadający temu obiektowi Integer.

wilk lub lis

Składnia:

public int hashCode()>

17. liczba bitów() : Zwraca liczbę ustawionych bitów jako uzupełnienie dwójkowe podanej liczby całkowitej.

Składnia:

public static int bitCount(int i)>

Parametry:

i : int value whose set bits to count>

18. liczbaZerWiodących() : Zwraca liczbę 0 bitów poprzedzających najwyższy 1 bit w postaci uzupełnienia dwójkowego wartości, tj. jeśli liczba w postaci uzupełnienia dwójkowego wynosi 0000 1010 0000 0000, wówczas ta funkcja zwróci 4.

Składnia:

public static int numberofLeadingZeroes(int i)>

Parametry:

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

19. numberOfTrailingZeroes() : Zwraca liczbę 0 bitów następujących po ostatnim 1 bicie w formie uzupełnienia dwójkowego wartości, tj. jeśli liczba w postaci uzupełnienia dwójkowego wynosi 0000 1010 0000 0000, wówczas ta funkcja zwróci 9.

Składnia:

public static int numberofTrailingZeroes(int i)>

Parametry:

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

20. najwyższyOneBit() : Zwraca wartość zawierającą co najwyżej jeden bit, na pozycji najwyższego bitu w podanej wartości. Zwraca 0 jeśli podana wartość wynosi 0, czyli jeśli liczba wynosi 0000 0000 0000 1111, to funkcja zwraca 0000 0000 0000 1000 (jeden najwyższy bit w podanej liczbie)

Składnia:

public static int highestOneBit(int i)>

Parametry:

i : int value>

21. NajniższyOneBit() : Zwraca wartość zawierającą co najwyżej jeden bit, na pozycji najniższego bitu podanej wartości. Zwraca 0 jeśli podana wartość wynosi 0, czyli jeśli liczba wynosi 0000 0000 0000 1111, to funkcja zwraca 0000 0000 0000 0001 (jeden najwyższy bit w podanej liczbie)

Składnia:

public static int LowestOneBit(int i)>

Parametry:

i : int value>

22. równa się() : Służy do porównywania równości dwóch obiektów typu Integer. Ta metoda zwraca wartość true, jeśli oba obiekty zawierają tę samą wartość int. Należy go używać tylko w przypadku sprawdzania równości. We wszystkich pozostałych przypadkach preferowana powinna być metoda CompareTo.

Składnia:

public boolean equals(Object obj)>

Parametry:

obj : object to compare with>

23. porównaj() : Służy do porównywania dwóch obiektów Integer pod kątem równości liczbowej. Należy tego używać przy porównywaniu dwóch wartości typu Integer w celu uzyskania równości liczbowej, ponieważ umożliwia to rozróżnienie między mniejszymi i większymi wartościami. Zwraca wartość mniejszą niż 0,0, wartość większą niż 0 dla wartości mniejszych niż, równych i większych niż.

Składnia:

public int compareTo(Integer b)>

Parametry:

b : Integer object to compare with>

24. porównaj() : Służy do porównywania dwóch pierwotnych wartości int w celu uzyskania równości liczbowej. Ponieważ jest to metoda statyczna, można jej używać bez tworzenia obiektu typu Integer.

Składnia:

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

Parametry:

x : int value y : another int value>

25. znak() : zwraca -1 dla wartości ujemnych, 0 dla 0 i +1 dla wartości większych niż 0.

Składnia:

public static int signum(int val)>

Parametry:

val : int value for which signum is required.>

26. odwróć() : zwraca pierwotną wartość int, odwracającą kolejność bitów w postaci uzupełnienia do dwóch dla danej wartości int.

Składnia:

public static int reverseBytes(int val)>

Parametry:

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

27. odwrotne bajty() : zwraca pierwotną wartość int, odwracającą kolejność bajtów w formie uzupełnienia do dwóch dla danej wartości int.

Składnia:

public static int reverseBytes(int val)>

Parametry:

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

28. static int CompareUnsigned(int x, int y) : Ta metoda porównuje numerycznie dwie wartości int, traktując je jako bez znaku.

Składnia:

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

29. static int splitUnsigned(int dzielna, int dzielnik) : Ta metoda zwraca iloraz bez znaku z dzielenia pierwszego argumentu przez drugi, przy czym każdy argument i wynik są interpretowane jako wartość bez znaku.

Składnia:

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

30. static int max(int ​​a, int b) : Ta metoda zwraca większą z dwóch wartości int, tak jakby wywołując Math.max.

Składnia:

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

31. static int min(int a, int b) : Ta metoda zwraca mniejszą z dwóch wartości int, tak jakby wywołując Math.min.

Składnia:

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

32. static int parseUnsignedInt(CharSequence s, int BeginIndex, int endIndex, int radix) : Ta metoda analizuje argument CharSequence jako liczbę całkowitą bez znaku w określonej podstawie, zaczynając od określonego BeginIndex i kończąc na endIndex – 1.

Składnia:

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

33. static int parseUnsignedInt(String s) : Ta metoda analizuje argument ciągu jako dziesiętną liczbę całkowitą bez znaku.

Składnia:

kiedy wynaleziono pierwszy komputer
public static int parseUnsignedInt(String s) throws NumberFormatException>

34. static int parseUnsignedInt(String s, int radix) : Ta metoda analizuje argument typu string jako liczbę całkowitą bez znaku w podstawie określonej przez drugi argument.

Składnia:

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

35. static int resztaUnsigned(int dzielna, int dzielnik) : Ta metoda zwraca resztę bez znaku z dzielenia pierwszego argumentu przez drugi, przy czym każdy argument i wynik są interpretowane jako wartość bez znaku.

Składnia:

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

36. static int sum(int a, int b) : Ta metoda dodaje dwie liczby całkowite zgodnie z operatorem +.

Składnia:

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

37. statyczny długi toUnsignedLong(int x) : Ta metoda konwertuje argument na długi poprzez konwersję bez znaku.

Składnia:

public static long toUnsignedLong(int x)>

38. ciąg statyczny toUnsignedString(int i) : Ta metoda zwraca ciąg reprezentujący argument jako wartość dziesiętną bez znaku.

Składnia:

public static String toUnsignedString(int i, int radix)>

Jawa




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

>

>

Wyjście :

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>

Inicjalizacja klasy opakowania Integer w Javie:

Typ 1: Inicjalizacja bezpośrednia:

W przestrzeni stałych w pamięci sterty zostanie utworzony obiekt stały klasy Integer. Przestrzeń stałych: Dla lepszego zrozumienia wystarczy wyobrazić sobie, że w pamięci sterty jest trochę miejsca na stałe.

Przykład:

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

Liczba całkowita x = 200

  • Kompilator konwertuje powyższą instrukcję na: Liczba całkowita x=Integer.valueOf(200) . Jest to tzw Autoboxing . Pierwotna wartość całkowita 200 jest konwertowana na obiekt.

(Aby zrozumieć automatyczne pakowanie i rozpakowywanie, sprawdź tutaj: )

  • x wskazuje na liczbę 200, która występuje w przestrzeni stałych. Patrz rys. 1.
Przykładowy obraz 1

Ryc. 1

x = 300

  • Autoboxing jest wykonywany ponownie, ponieważ x jest obiektem klasy Integer, który jest bezpośrednio inicjowany.
  • Notatka: Bezpośrednio zainicjowany obiekt (x) nie może być modyfikowany, ponieważ jest stałą. Kiedy spróbujemy zmodyfikować obiekt, wskazując nową stałą (300), stara stała (200) będzie obecna w pamięci sterty, ale obiekt będzie wskazywał nową stałą.
  • x wskazuje na liczbę 300, która występuje w przestrzeni stałych. Patrz rys. 2.

Ryc. 2

x = 10

  • Notatka: Domyślnie dla wartości od -128 do 127 metoda Integer.valueOf() nie utworzy nowej instancji Integer. Zwraca wartość ze swojej pamięci podręcznej.
  • x punkty 10, które są obecne w pamięci podręcznej.

Ryc. 3

Jeśli następnym razem przypiszemy x = 200 lub x = 300, wskaże to wartość 200 lub 300, która występuje już w przestrzeni stałych. Jeśli przypiszemy do x wartości inne niż te dwie wartości, wówczas utworzy się nowa stała.

(Sprawdź temat porównania klas opakowania Integer, aby lepiej zrozumieć)

Typ 2: Inicjowanie dynamiczne:

Obiekt klasy Integer niebędący stałą zostanie utworzony poza przestrzenią stałych. Tworzy również stałą Integer w przestrzeni stałych. Zmienna będzie wskazywać obiekt Integer, a nie stałą Integer.

Przykład:

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

Liczba całkowita a = nowa liczba całkowita (250)

  • 250 jest tworzony wewnątrz i na zewnątrz przestrzeni stałych. Zmienna „a” będzie wskazywała wartość znajdującą się poza przestrzenią stałych. Patrz rys. 4.

Ryc. 4

a = 350;

  • Po automatycznym zaznaczeniu „a” będzie wskazywać 350. Patrz rys. 5.

Ryc. 5

Jeśli następnym razem przypiszemy a = 250, nie będzie to wskazywało na obiekt już istniejący o tej samej wartości, utworzy nowy obiekt.

Bibliografia: Oficjalna dokumentacja Java