logo

Клас Java.lang.Integer в Java

Клас Integer є класом-огорткою для примітивного типу int, який містить кілька методів для ефективної роботи зі значенням int, наприклад, перетворення його на рядкове представлення та навпаки. Об'єкт класу Integer може містити одне значення int.

Конструктори:

  • Ціле число (int b): Створює об’єкт Integer, ініціалізований наданим значенням.

Синтаксис:



public Integer(int b)>

Параметри:

b : value with which to initialize>
  • Ціле число (рядок s): Створює об’єкт Integer, ініціалізований значенням int, наданим рядковим представленням. Базове число за замовчуванням дорівнює 10.

Синтаксис:

public Integer(String s) throws NumberFormatException>

Параметри:

s : string representation of the int value>

Кидки:

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

Методи:

1. toString() : Повертає рядок, що відповідає значенню int.

Синтаксис:

public String toString(int b)>

Параметри:

b : int value for which string representation required.>

2. toHexString() : Повертає рядок, що відповідає значенню int у шістнадцятковій формі, тобто повертає рядок, що представляє значення int у шістнадцяткових символах-[0-9][a-f]

Синтаксис:

public String toHexString(int b)>

Параметри:

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

3. toOctalString() : Повертає рядок, що відповідає значенню int у вісімковій формі, тобто повертає рядок, що представляє значення int у вісімкових символах-[0-7]

Синтаксис:

public String toOctalString(int b)>

Параметри:

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

4. toBinaryString() : Повертає рядок, що відповідає значенню int у двійкових цифрах, тобто повертає рядок, що представляє значення int у шістнадцяткових символах-[0/1]

Синтаксис:

public String toBinaryString(int b)>

Параметри:

рядок a int
b : int value for which binary string representation required.>

5. valueOf() : повертає об’єкт Integer, ініціалізований наданим значенням.

Синтаксис:

public static Integer valueOf(int b)>

Параметри:

b : a int value>
  • valueOf(рядок значення, int radix) : Ще одна перевантажена функція, яка надає функцію, подібну до new Integer(Integer.parseInteger(val,radix))

Синтаксис:

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

Параметри:

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

Кидки:

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • valueOf(рядок значення) : Ще одна перевантажена функція, яка надає функцію, подібну до new Integer(Integer.parseInt(val,10))

Синтаксис:

public static Integer valueOf(String s) throws NumberFormatException>

Параметри:

s : a String object to be parsed as int>

Кидки:

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

6. parseInt() : повертає значення int, розбираючи рядок у наданій системі. Відрізняється від valueOf() тим, що повертає примітивне ціле значення, а valueOf() повертає цілочисельний об’єкт.

Синтаксис:

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

Параметри:

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

Кидки:

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • Інший перевантажений метод, який містить лише String як параметр, radix за замовчуванням має значення 10.

Синтаксис:

public static int parseInt(String val) throws NumberFormatException>

Параметри:

val : String representation of int>

Кидки:

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

7. getInteger(): повертає об’єкт Integer, що представляє значення, пов’язане з заданою властивістю системи, або null, якщо воно не існує.

Синтаксис:

public static Integer getInteger(String prop)>

Параметри:

prop : System property>
  • Інший перевантажений метод, який повертає другий аргумент, якщо властивість не існує, тобто повертає не значення null, а значення за замовчуванням, надане користувачем.

Синтаксис:

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

Параметри:

prop : System property val : value to return if property does not exist.>
  • Інший перевантажений метод, який аналізує значення відповідно до повернутого значення, тобто якщо повернуте значення починається з #, воно аналізується як шістнадцяткове, якщо починається з 0, то воно аналізується як вісімкове, інакше як десяткове.

Синтаксис:

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

Параметри:

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

8. decode() : повертає об’єкт Integer, що містить розшифроване значення наданого рядка. Наданий рядок має мати таку форму, інакше буде створено NumberFormatException-
Десятковий- (знак)десяткове_число
Hex- (знак)0xHex_цифри
Hex- (Знак)0XHex_цифри
Вісімкове - (знак) 0″ вісімкові_цифри

Синтаксис:

public static Integer decode(String s) throws NumberFormatException>

Параметри:

s : encoded string to be parsed into int val>

Кидки:

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

9. rotateLeft() : Повертає примітивний int шляхом повороту бітів вліво на вказану відстань у формі двох додаткових значень. При обертанні вліво старший біт переміщується в праву сторону, або молодша значуща позиція, тобто відбувається циклічний рух бітів. Від’ємна відстань означає обертання вправо.

Синтаксис:

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

Параметри:

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

10. rotateRight() : Повертає примітивне int шляхом повороту бітів праворуч на задану відстань у формі доповнення до двох заданого значення. При обертанні праворуч молодший біт переміщується вліво, або старша позиція, тобто відбувається циклічне переміщення бітів. Від’ємна відстань означає обертання вліво.

Синтаксис:

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

Параметри:

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

>

>

Вихід:

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() : повертає байтове значення, що відповідає цьому цілому об’єкту.

Синтаксис:

public byte byteValue()>

12. shortValue() : повертає коротке значення, що відповідає цьому цілому об’єкту.

Синтаксис:

public short shortValue()>

13. intValue() : повертає значення int, що відповідає цьому цілому об’єкту.

Синтаксис:

public int intValue()>

13. longValue() : повертає довге значення, що відповідає цьому цілому об’єкту.

Синтаксис:

public long longValue()>

14. doubleValue() : повертає подвійне значення, що відповідає цьому цілому об’єкту.

Синтаксис:

public double doubleValue()>

15. floatValue() : повертає значення float, що відповідає цьому цілому об’єкту.

Синтаксис:

public float floatValue()>

16. hashCode() : повертає хеш-код, що відповідає цьому цілочисельному об’єкту.

Синтаксис:

public int hashCode()>

17. bitcount() : Повертає кількість встановлених бітів у дворядному доповненні до заданого цілого числа.

Синтаксис:

public static int bitCount(int i)>

Параметри:

i : int value whose set bits to count>

18. numberOfLeadingZeroes() : Повертає кількість 0 бітів перед старшим 1 бітом у формі доповнення до двох значення, тобто якщо число у формі доповнення до двох дорівнює 0000 1010 0000 0000, тоді ця функція поверне 4.

Синтаксис:

public static int numberofLeadingZeroes(int i)>

Параметри:

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

19. numberOfTrailingZeroes() : Повертає кількість 0 бітів після останнього 1 біта у формі доповнення до двох значення, тобто якщо число у формі доповнення до двох дорівнює 0000 1010 0000 0000, тоді ця функція поверне 9.

Синтаксис:

public static int numberofTrailingZeroes(int i)>

Параметри:

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

20. highOneBit() : Повертає значення щонайбільше з одним бітом у позиції старшого одного біта в наданому значенні. Повертає 0, якщо задане значення дорівнює 0, тобто якщо число дорівнює 0000 0000 0000 1111, тоді ця функція повертає 0000 0000 0000 1000 (один не менше одного біта в заданому числі)

Синтаксис:

public static int highestOneBit(int i)>

Параметри:

i : int value>

21. LowestOneBit() : Повертає значення щонайбільше з одним бітом у позиції молодшого біта в наданому значенні. Повертає 0, якщо задане значення дорівнює 0, тобто якщо число дорівнює 0000 0000 0000 1111, тоді ця функція повертає 0000 0000 0000 0001 (один не менше одного біта в заданому числі)

Синтаксис:

public static int LowestOneBit(int i)>

Параметри:

i : int value>

22. дорівнює() : Використовується для порівняння рівності двох цілих об’єктів. Цей метод повертає true, якщо обидва об’єкти містять однакове значення int. Слід використовувати лише для перевірки рівності. У всіх інших випадках слід віддавати перевагу методу compareTo.

Синтаксис:

кіноактор віджай
public boolean equals(Object obj)>

Параметри:

obj : object to compare with>

23. compareTo() : Використовується для порівняння двох цілих об’єктів на чисельну рівність. Це слід використовувати під час порівняння двох цілих значень для числової рівності, оскільки це розрізнятиме менші та більші значення. Повертає значення менше за 0,0, значення більше за 0 для меншого, рівного та більшого.

Синтаксис:

public int compareTo(Integer b)>

Параметри:

b : Integer object to compare with>

24. порівняти() : Використовується для порівняння двох простих значень int для числової рівності. Оскільки це статичний метод, його можна використовувати без створення об’єкта Integer.

Синтаксис:

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

Параметри:

x : int value y : another int value>

25. знак() : повертає -1 для від’ємних значень, 0 для 0 і +1 для значень, більших за 0.

Синтаксис:

public static int signum(int val)>

Параметри:

val : int value for which signum is required.>

26. реверс() : повертає примітивне значення int, змінюючи порядок бітів у формі доповнення до двох заданого значення int.

Синтаксис:

public static int reverseBytes(int val)>

Параметри:

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

27. reverseBytes() : повертає примітивне значення int, змінюючи порядок байтів у формі доповнення до двох заданого значення int.

Синтаксис:

public static int reverseBytes(int val)>

Параметри:

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

28. static int compareUnsigned(int x, int y) : Цей метод порівнює два значення int числово, розглядаючи значення як беззнакові.

Синтаксис:

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

29. static int divideUnsigned(int dividend, int divisor) : Цей метод повертає беззнакову частку від ділення першого аргументу на другий, де кожен аргумент і результат інтерпретуються як значення без знаку.

Синтаксис:

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

30. static int max(int ​​a, int b) : Цей метод повертає більше з двох значень int, ніби викликаючи Math.max.

Синтаксис:

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

31. static int min(int a, int b) : Цей метод повертає менше з двох значень int, ніби викликаючи Math.min.

Синтаксис:

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

32. static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix) : Цей метод аналізує аргумент CharSequence як unsigned int у вказаній основі, починаючи з указаного beginIndex і розширюючи до endIndex – 1.

Синтаксис:

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

33. static int parseUnsignedInt(String s) : Цей метод аналізує рядковий аргумент як десяткове ціле число без знаку.

Синтаксис:

public static int parseUnsignedInt(String s) throws NumberFormatException>

34. static int parseUnsignedInt(String s, int radix) : Цей метод аналізує рядковий аргумент як ціле число без знаку в системі основи, визначеній другим аргументом.

Синтаксис:

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

35. static int remainderUnsigned(int dividend, int divisor) : Цей метод повертає залишок без знаку від ділення першого аргументу на другий, де кожен аргумент і результат інтерпретуються як значення без знаку.

Синтаксис:

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

36. static int sum(int a, int b) : цей метод додає два цілі числа разом відповідно до оператора +.

string.valueof

Синтаксис:

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

37. static long toUnsignedLong(int x) : Цей метод перетворює аргумент на довгий за допомогою беззнакового перетворення.

Синтаксис:

public static long toUnsignedLong(int x)>

38. static String toUnsignedString(int i) : Цей метод повертає рядкове представлення аргументу як десяткове значення без знака.

Синтаксис:

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

>

>

Вихід:

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>

Ініціалізація класу-огортки Integer в Java:

Тип 1: Безпосередня ініціалізація:

Константний об’єкт класу Integer буде створено всередині простору констант у пам’яті купи. Простір констант: для кращого розуміння варто лише уявити, що в пам’яті купи є деякий простір для констант.

приклад:

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

Ціле число x = 200

  • Компілятор перетворює наведений вище оператор у: Ціле x=Integer.valueOf(200) . Це відомо як Автобокс . Примітивне ціле число 200 перетворюється на об'єкт.

(Щоб зрозуміти автоматичне упаковування та розпакування, перевірте тут: )

  • x вказує на 200, яке присутнє в просторі констант. Див. рис. 1.
Приклад ig 1

Рис. 1

х = 300

  • Автоупакування виконується знову, оскільки x є об’єктом класу Integer, який ініціалізується безпосередньо.
  • Примітка: Безпосередньо ініціалізований об’єкт(x) не можна змінити, оскільки він є константою. Коли ми намагаємося змінити об’єкт, вказуючи на нову константу (300), стара константа (200) буде присутня в пам’яті купи, але об’єкт вказуватиме на нову константу.
  • x вказує на 300, яке присутнє в просторі констант. Див. рис. 2.

Рис. 2

х = 10

  • Примітка: За замовчуванням для значень від -128 до 127 метод Integer.valueOf() не створить новий екземпляр Integer. Він повертає значення зі свого кешу.
  • x балів 10, який присутній у кеші.

Рис. 3

Якщо наступного разу ми призначимо x = 200 або x=300, це вкаже на значення 200 або 300, яке вже є в просторі констант. Якщо ми присвоїмо x значення, відмінні від цих двох значень, тоді це створить нову константу.

(Для кращого розуміння дивіться розділ «Порівняння класів обгортки Integer»)

Тип 2: динамічна ініціалізація:

Об’єкт класу Integer, який не є константою, буде створено поза простором констант. Він також створює константу Integer всередині простору констант. Змінна вказуватиме на об’єкт Integer, а не на константу Integer.

приклад:

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

Ціле число a = нове ціле число (250)

  • 250 створюється всередині та поза простором констант. Змінна «a» вказуватиме значення, яке знаходиться поза простором констант. Див. рис. 4.

Рис. 4

а = 350;

  • Після автоматичного боксування «a» вказуватиме на 350. Див. рис. 5.

Рис. 5

Якщо наступного разу ми призначимо a = 250, він не вказуватиме на вже наявний об’єкт із таким самим значенням, а створить новий об’єкт.

Література: Офіційна документація Java