logo

Classe Java.lang.Integer en Java

La classe Integer est une classe wrapper pour le type primitif int qui contient plusieurs méthodes pour traiter efficacement une valeur int, comme la convertir en une représentation sous forme de chaîne, et vice-versa. Un objet de la classe Integer peut contenir une seule valeur int.

Constructeurs :

  • Entier (int b) : Crée un objet Integer initialisé avec la valeur fournie.

Syntaxe:



public Integer(int b)>

Paramètres:

b : value with which to initialize>
  • Entier (Chaîne s) : Crée un objet Integer initialisé avec la valeur int fournie par la représentation sous forme de chaîne. La base par défaut est 10.

Syntaxe:

public Integer(String s) throws NumberFormatException>

Paramètres:

s : string representation of the int value>

Les lancers :

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

Méthodes :

1. toString() : Renvoie la chaîne correspondant à la valeur int.

Syntaxe:

public String toString(int b)>

Paramètres :

b : int value for which string representation required.>

2. versHexString() : Renvoie la chaîne correspondant à la valeur int sous forme hexadécimale, c'est-à-dire qu'elle renvoie une chaîne représentant la valeur int en caractères hexadécimaux-[0-9][a-f]

Syntaxe:

chaîne en caractère
public String toHexString(int b)>

Paramètres:

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

3. versOctalString() : Renvoie la chaîne correspondant à la valeur int sous forme octale, c'est-à-dire qu'elle renvoie une chaîne représentant la valeur int en caractères octaux-[0-7]

Syntaxe:

public String toOctalString(int b)>

Paramètres:

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

4. àBinaryString() : Renvoie la chaîne correspondant à la valeur int en chiffres binaires, c'est-à-dire qu'elle renvoie une chaîne représentant la valeur int en caractères hexadécimaux-[0/1]

Syntaxe:

public String toBinaryString(int b)>

Paramètres:

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

5. valeurDe() : renvoie l'objet Integer initialisé avec la valeur fournie.

Syntaxe:

public static Integer valueOf(int b)>

Paramètres:

b : a int value>
  • valueOf(String val,int base) : Une autre fonction surchargée qui fournit une fonction similaire à new Integer(Integer.parseInteger(val,radix))

Syntaxe:

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

Paramètres:

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

Les lancers :

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • valeurDe(Valeur de chaîne) : Une autre fonction surchargée qui fournit une fonction similaire à new Integer(Integer.parseInt(val,10))

Syntaxe:

public static Integer valueOf(String s) throws NumberFormatException>

Paramètres:

s : a String object to be parsed as int>

Les lancers :

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

6. parseInt() : renvoie la valeur int en analysant la chaîne dans la base fournie. Diffère de valueOf() car il renvoie une valeur int primitive et valueOf() renvoie un objet Integer.

Syntaxe:

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

Paramètres:

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

Les lancers :

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • Une autre méthode surchargée contenant uniquement String comme paramètre, radix est défini par défaut sur 10.

Syntaxe:

public static int parseInt(String val) throws NumberFormatException>

Paramètres:

val : String representation of int>

Les lancers :

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

7. getInteger() : renvoie l'objet Integer représentant la valeur associée à la propriété système donnée ou null si elle n'existe pas.

Syntaxe:

public static Integer getInteger(String prop)>

Paramètres :

prop : System property>
  • Une autre méthode surchargée qui renvoie le deuxième argument si la propriété n'existe pas, c'est-à-dire qu'elle ne renvoie pas null mais une valeur par défaut fournie par l'utilisateur.

Syntaxe:

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

Paramètres:

prop : System property val : value to return if property does not exist.>
  • Une autre méthode surchargée qui analyse la valeur en fonction de la valeur renvoyée, c'est-à-dire que si la valeur renvoyée commence par #, elle est analysée en hexadécimal, si elle commence par 0, elle est analysée en octal, sinon en décimal.

Syntaxe:

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

Paramètres:

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

8. décoder() : renvoie un objet Integer contenant la valeur décodée de la chaîne fournie. La chaîne fournie doit être de la forme suivante, sinon NumberFormatException sera levée -
Décimal- (Signe)Decimal_Number
Hex- (Signe)0xHex_Digits
Hex- (Signe)0XHex_Digits
Octal- (Signe)0″Octal_Digits

Syntaxe:

public static Integer decode(String s) throws NumberFormatException>

Paramètres:

s : encoded string to be parsed into int val>

Les lancers :

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

9. rotationGauche() : Renvoie un int primitif en faisant tourner les bits restants d'une distance donnée sous la forme de complément à deux de la valeur donnée. Lors d'une rotation vers la gauche, le bit le plus significatif est déplacé vers la droite, ou vers la position la moins significative, c'est-à-dire qu'un mouvement cyclique des bits a lieu. Une distance négative signifie une rotation à droite.

Syntaxe:

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

Paramètres:

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

10. rotationDroite() : Renvoie un int primitif en faisant tourner les bits vers la droite d'une distance donnée sous la forme de complément à deux de la valeur donnée. Lors d'une rotation vers la droite, le bit le moins significatif est déplacé vers la gauche, ou vers la position la plus significative, c'est-à-dire qu'un mouvement cyclique des bits a lieu. Une distance négative signifie une rotation à gauche.

Syntaxe:

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

Paramètres:

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

>

>

Sortir:

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. octetValue() : renvoie une valeur d'octet correspondant à cet objet entier.

Syntaxe:

public byte byteValue()>

12. valeur courte() : renvoie une valeur courte correspondant à cet objet entier.

Syntaxe:

public short shortValue()>

13. intValeur() : renvoie une valeur int correspondant à cet objet entier.

Syntaxe:

public int intValue()>

13. valeur longue() : renvoie une valeur longue correspondant à cet objet entier.

Syntaxe:

public long longValue()>

14. doubleValeur() : renvoie une valeur double correspondant à cet objet entier.

Syntaxe:

public double doubleValue()>

15. floatValue() : renvoie une valeur flottante correspondant à cet objet entier.

Syntaxe:

public float floatValue()>

16. hashCode() : renvoie le hashcode correspondant à cet objet entier.

qu'est-ce que l'ini du bureau

Syntaxe:

public int hashCode()>

17. nombre de bits() : Renvoie le nombre de bits définis en complément à deux de l'entier donné.

Syntaxe:

public static int bitCount(int i)>

Paramètres:

i : int value whose set bits to count>

18. numberOfLeadingZeroes() : Renvoie le nombre de 0 bits précédant le bit le plus élevé sous forme de complément à deux de la valeur, c'est-à-dire que si le nombre sous forme de complément à deux est 0000 1010 0000 0000, alors cette fonction renverrait 4.

Syntaxe:

public static int numberofLeadingZeroes(int i)>

Paramètres:

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

19. numberOfTrailingZeroes() : Renvoie le nombre de 0 bits suivant le dernier bit 1 sous forme de complément à deux de la valeur, c'est-à-dire que si le nombre sous forme de complément à deux est 0000 1010 0000 0000, alors cette fonction renverrait 9.

Syntaxe:

public static int numberofTrailingZeroes(int i)>

Paramètres:

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

20. plus hautOneBit() : Renvoie une valeur avec au plus un seul bit, dans la position du bit le plus élevé dans la valeur donnée. Renvoie 0 si la valeur donnée est 0, c'est-à-dire si le nombre est 0000 0000 0000 1111, alors cette fonction renvoie 0000 0000 0000 1000 (un au plus haut bit du nombre donné)

Syntaxe:

public static int highestOneBit(int i)>

Paramètres:

i : int value>

21. Le plus basOneBit() : Renvoie une valeur avec au plus un seul bit, dans la position du bit le plus bas dans la valeur donnée. Renvoie 0 si la valeur donnée est 0, c'est-à-dire si le nombre est 0000 0000 0000 1111, alors cette fonction renvoie 0000 0000 0000 0001 (un au plus haut bit du nombre donné)

Syntaxe:

public static int LowestOneBit(int i)>

Paramètres:

i : int value>

22. égal() : Utilisé pour comparer l'égalité de deux objets Integer. Cette méthode renvoie true si les deux objets contiennent la même valeur int. Doit être utilisé uniquement lors de la vérification de l’égalité. Dans tous les autres cas, la méthode compareTo doit être privilégiée.

Syntaxe:

public boolean equals(Object obj)>

Paramètres:

obj : object to compare with>

23. comparerÀ() : Utilisé pour comparer deux objets Integer pour l'égalité numérique. Ceci doit être utilisé lors de la comparaison de deux valeurs entières pour l'égalité numérique, car cela permettrait de différencier les valeurs inférieures et supérieures. Renvoie une valeur inférieure à 0,0, une valeur supérieure à 0 pour inférieur, égal à et supérieur à.

Syntaxe:

public int compareTo(Integer b)>

Paramètres:

b : Integer object to compare with>

24. comparer() : Utilisé pour comparer deux valeurs int primitives pour l'égalité numérique. Comme il s’agit d’une méthode statique, elle peut donc être utilisée sans créer d’objet Integer.

Syntaxe:

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

Paramètres:

x : int value y : another int value>

25. signe() : renvoie -1 pour les valeurs négatives, 0 pour 0 et +1 pour les valeurs supérieures à 0.

Syntaxe:

public static int signum(int val)>

Paramètres:

val : int value for which signum is required.>

26. inverse() : renvoie une valeur int primitive inversant l'ordre des bits sous forme de complément à deux de la valeur int donnée.

Syntaxe:

public static int reverseBytes(int val)>

Paramètres:

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

27. reverseBytes() : renvoie une valeur int primitive inversant l'ordre des octets sous forme de complément à deux de la valeur int donnée.

Syntaxe:

public static int reverseBytes(int val)>

Paramètres:

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

28. static int compareUnsigned(int x, int y) : Cette méthode compare deux valeurs int en traitant numériquement les valeurs comme non signées.

Syntaxe:

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

29. static int DivideUnsigned(int dividende, int diviseur) : Cette méthode renvoie le quotient non signé de la division du premier argument par le second où chaque argument et le résultat sont interprétés comme une valeur non signée.

Syntaxe:

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

30. statique int max (int a, int b) : Cette méthode renvoie la plus grande de deux valeurs int comme si en appelant Math.max.

Syntaxe:

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

31. statique int min(int a, int b) : Cette méthode renvoie la plus petite des deux valeurs int comme en appelant Math.min.

Syntaxe:

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

32. static int parseUnsignedInt (CharSequence s, int beginIndex, int endIndex, int radix) : Cette méthode analyse l'argument CharSequence comme un entier non signé dans la base spécifiée, en commençant au startIndex spécifié et en s'étendant jusqu'à endIndex – 1.

Syntaxe:

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

33. static int parseUnsignedInt(String s) : Cette méthode analyse l'argument de chaîne comme un entier décimal non signé.

Syntaxe:

instruction de commutation java
public static int parseUnsignedInt(String s) throws NumberFormatException>

34. static int parseUnsignedInt (String s, int radix) : Cette méthode analyse l'argument de chaîne comme un entier non signé dans la base spécifiée par le deuxième argument.

Syntaxe:

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

35. reste int statiqueUnsigned(dividende int, diviseur int) : Cette méthode renvoie le reste non signé en divisant le premier argument par le second où chaque argument et le résultat sont interprétés comme une valeur non signée.

Syntaxe:

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

36. somme int statique (int a, int b) : Cette méthode additionne deux entiers selon l'opérateur +.

Syntaxe:

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

37. statique long toUnsignedLong(int x) : Cette méthode convertit l'argument en long par une conversion non signée.

Syntaxe:

public static long toUnsignedLong(int x)>

38. Chaîne statique toUnsignedString (int i) : Cette méthode renvoie une représentation sous forme de chaîne de l'argument sous forme de valeur décimale non signée.

Syntaxe:

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

>

>

Sortir :

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>

Initialisation de la classe wrapper Integer en Java :

Type 1 : Initialisation directe :

Un objet constant de classe Integer sera créé dans l’espace des constantes dans la mémoire tas. Espace des constantes : il s'agit simplement d'imaginer pour mieux comprendre qu'il existe un espace pour les constantes dans la mémoire tas.

Exemple:

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

Entier x = 200

  • Le compilateur convertit l'instruction ci-dessus en : Entier x=Integer.valueOf(200) . C'est ce qu'on appelle Boîte automatique . La valeur entière primitive 200 est convertie en objet.

(Pour comprendre l'Autoboxing et le Unboxing, vérifiez ici : )

  • x pointe vers 200 qui est présent dans l’espace des constantes. Reportez-vous à la figure 1.
Exemple img 1

Fig. 1

x = 300

  • L'autoboxing est refait car x est un objet de classe Integer qui est directement initialisé.
  • Note: L'objet (x) directement initialisé ne peut pas être modifié car il s'agit d'une constante. Lorsque nous essayons de modifier l'objet en pointant vers une nouvelle constante (300), l'ancienne constante (200) sera présente dans la mémoire tas, mais l'objet pointera vers la nouvelle constante.
  • x pointe vers 300 qui est présent dans l’espace des constantes. Reportez-vous à la figure 2.

Figure 2

x = 10

  • Note: Par défaut pour les valeurs -128 à 127, la méthode Integer.valueOf() ne créera pas de nouvelle instance d'Integer. Il renvoie une valeur de son cache.
  • x points 10 qui est présent dans le cache.

Figure 3

Si nous attribuons x = 200 ou x=300 la prochaine fois, cela pointera vers la valeur 200 ou 300 qui est déjà présente dans l'espace des constantes. Si nous attribuons à x des valeurs autres que ces deux valeurs, cela crée une nouvelle constante.

(Consultez le sujet de comparaison des classes de wrapper Integer pour une meilleure compréhension)

Type 2 : Initialisation dynamique :

Un objet de classe Integer qui n'est pas une constante sera créé en dehors de l'espace des constantes. Il crée également une constante entière à l'intérieur de l'espace des constantes. La variable pointera vers l'objet Integer et non vers la constante Integer.

Exemple:

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

Entier a = nouvel entier (250)

  • 250 est créé à l’intérieur et à l’extérieur de l’espace des constantes. La variable « a » pointera vers la valeur qui se trouve en dehors de l'espace des constantes. Reportez-vous à la figure 4.

Figure 4

une = 350 ;

  • Après la boxe automatique, « a » pointe vers 350. Reportez-vous à la figure 5.

Figure 5

Si nous attribuons a = 250 la prochaine fois, cela ne pointera pas vers l'objet déjà présent avec la même valeur, cela créera un nouvel objet.

Les références: Documentation Java officielle