Klasa Java.lang.Integer w Javie

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:

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.

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:

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