logo

Classe Java.lang.Integer in Java

La classe Integer è una classe wrapper per il tipo primitivo int che contiene diversi metodi per gestire efficacemente un valore int come convertirlo in una rappresentazione di stringa e viceversa. Un oggetto della classe Integer può contenere un singolo valore int.

tutorial sul selenio

Costruttori:

  • Intero(int b): Crea un oggetto Integer inizializzato con il valore fornito.

Sintassi:



public Integer(int b)>

parametri:

b : value with which to initialize>
  • Intero(Stringa s): Crea un oggetto Integer inizializzato con il valore int fornito dalla rappresentazione di stringa. La radice predefinita è considerata 10.

Sintassi:

public Integer(String s) throws NumberFormatException>

parametri:

s : string representation of the int value>

Getta:

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

Metodi:

1. toString() : Restituisce la stringa corrispondente al valore int.

Sintassi:

public String toString(int b)>

Parametri:

b : int value for which string representation required.>

2. aHexString() : Restituisce la stringa corrispondente al valore int in forma esadecimale, ovvero restituisce una stringa che rappresenta il valore int in caratteri esadecimali-[0-9][a-f]

Sintassi:

public String toHexString(int b)>

parametri:

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

3. toOctalString() : Restituisce la stringa corrispondente al valore int in forma ottale, ovvero restituisce una stringa che rappresenta il valore int in caratteri ottali-[0-7]

Sintassi:

public String toOctalString(int b)>

parametri:

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

4. toBinaryString() : Restituisce la stringa corrispondente al valore int in cifre binarie, ovvero restituisce una stringa che rappresenta il valore int in caratteri esadecimali-[0/1]

Sintassi:

public String toBinaryString(int b)>

parametri:

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

5. valoreDi() : restituisce l'oggetto Integer inizializzato con il valore fornito.

Sintassi:

public static Integer valueOf(int b)>

parametri:

b : a int value>
  • valoreOf(Stringa val,int radice) : Un'altra funzione sovraccaricata che fornisce una funzione simile a new Integer(Integer.parseInteger(val,radix))

Sintassi:

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

parametri:

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

Getta:

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • valoreOf(valore stringa) : Un'altra funzione sovraccaricata che fornisce una funzione simile a new Integer(Integer.parseInt(val,10))

Sintassi:

public static Integer valueOf(String s) throws NumberFormatException>

parametri:

s : a String object to be parsed as int>

Getta:

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

6. parseInt() : restituisce il valore int analizzando la stringa nella radice fornita. Differisce da valueOf() in quanto restituisce un valore int primitivo e valueOf() restituisce un oggetto Integer.

Sintassi:

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

parametri:

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

Getta:

NumberFormatException : if String cannot be parsed to a int value in given radix.>
  • Un altro metodo sovraccaricato contenente solo String come parametro, radix è impostato per impostazione predefinita su 10.

Sintassi:

public static int parseInt(String val) throws NumberFormatException>

parametri:

val : String representation of int>

Getta:

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

7. getInteger(): restituisce l'oggetto Integer che rappresenta il valore associato alla proprietà di sistema specificata o null se non esiste.

Sintassi:

public static Integer getInteger(String prop)>

Parametri:

prop : System property>
  • Un altro metodo sovraccaricato che restituisce il secondo argomento se la proprietà non esiste, ovvero non restituisce null ma un valore predefinito fornito dall'utente.

Sintassi:

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

parametri:

prop : System property val : value to return if property does not exist.>
  • Un altro metodo sovraccaricato che analizza il valore in base al valore restituito, ovvero se il valore restituito inizia con #, viene analizzato come esadecimale, se inizia con 0, viene analizzato come ottale, altrimenti decimale.

Sintassi:

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

parametri:

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

8. decodifica() : restituisce un oggetto intero contenente il valore decodificato della stringa fornita. La stringa fornita deve essere nel formato seguente, altrimenti verrà lanciata NumberFormatException:
Decimal- (Segno)Decimal_Number
Hex- (Segno)0xHex_Digits
Hex- (Segno)0XCifre_Hex
Ottale- (Segno)0″Cifre_ottali

Sintassi:

public static Integer decode(String s) throws NumberFormatException>

parametri:

s : encoded string to be parsed into int val>

Getta:

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

9. ruota a sinistra() : Restituisce un int primitivo ruotando i bit rimasti della distanza data nella forma in complemento a due del valore dato. Quando si ruota a sinistra, il bit più significativo viene spostato sul lato destro o nella posizione meno significativa, ovvero avviene il movimento ciclico dei bit. La distanza negativa indica la rotazione a destra.

Sintassi:

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

parametri:

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

10. ruotaDestra() : Restituisce un int primitivo ruotando i bit a destra della distanza data nella forma in complemento a due del valore dato. Quando si ruota verso destra, il bit meno significativo viene spostato sul lato sinistro o nella posizione più significativa, ovvero avviene il movimento ciclico dei bit. La distanza negativa indica la rotazione a sinistra.

Sintassi:

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

parametri:

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

Giava




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

>

>

Produzione:

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. byteValore() : restituisce un valore byte corrispondente a questo oggetto intero.

Sintassi:

public byte byteValue()>

12. breveValore() : restituisce un valore breve corrispondente a questo oggetto intero.

Sintassi:

public short shortValue()>

13. intValore() : restituisce un valore int corrispondente a questo oggetto intero.

Sintassi:

public int intValue()>

13. valore lungo() : restituisce un valore lungo corrispondente a questo oggetto intero.

Sintassi:

public long longValue()>

14. doppioValore() : restituisce un valore doppio corrispondente a questo oggetto intero.

Sintassi:

public double doubleValue()>

15. floatValore() : restituisce un valore float corrispondente a questo oggetto intero.

Sintassi:

public float floatValue()>

16. codicehash() : restituisce l'hashcode corrispondente a questo oggetto intero.

Sintassi:

public int hashCode()>

17. bitcount() : Restituisce il numero di bit impostati nel complemento a due dell'intero fornito.

Sintassi:

public static int bitCount(int i)>

parametri:

array java
i : int value whose set bits to count>

18. numeroDiZeroPrimatori() : Restituisce il numero di 0 bit che precedono il bit 1 più alto nella forma in complemento a due del valore, ovvero se il numero in forma in complemento a due è 0000 1010 0000 0000, questa funzione restituirà 4.

Sintassi:

public static int numberofLeadingZeroes(int i)>

parametri:

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

19. numeroOfTrailingZeroes() : Restituisce il numero di 0 bit successivi all'ultimo bit 1 in forma di complemento a due del valore, ovvero se il numero in forma di complemento a due è 0000 1010 0000 0000, questa funzione restituirà 9.

Sintassi:

public static int numberofTrailingZeroes(int i)>

parametri:

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

20. più altoUnBit() : Restituisce un valore con al massimo un singolo bit, nella posizione del bit più alto nel valore fornito. Restituisce 0 se il valore fornito è 0, ovvero se il numero è 0000 0000 0000 1111, quindi questa funzione restituisce 0000 0000 0000 1000 (uno al massimo un bit nel numero specificato)

Sintassi:

public static int highestOneBit(int i)>

parametri:

i : int value>

21. Il Bit più basso() : Restituisce un valore con al massimo un singolo bit, nella posizione del bit più basso nel valore fornito. Restituisce 0 se il valore fornito è 0, ovvero se il numero è 0000 0000 0000 1111, quindi questa funzione restituisce 0000 0000 0000 0001 (uno al massimo un bit nel numero specificato)

Sintassi:

public static int LowestOneBit(int i)>

parametri:

i : int value>

22. uguale() : Utilizzato per confrontare l'uguaglianza di due oggetti Integer. Questo metodo restituisce true se entrambi gli oggetti contengono lo stesso valore int. Dovrebbe essere utilizzato solo se si verifica l'uguaglianza. In tutti gli altri casi, è preferibile il metodo compareTo.

Sintassi:

public boolean equals(Object obj)>

parametri:

obj : object to compare with>

23. confrontaCon() : Utilizzato per confrontare due oggetti interi per l'uguaglianza numerica. Dovrebbe essere utilizzato quando si confrontano due valori interi per l'uguaglianza numerica poiché distinguerebbe tra valori minori e maggiori. Restituisce un valore inferiore a 0,0, un valore maggiore di 0 per minore, uguale e maggiore di.

Sintassi:

raddoppia in Java
public int compareTo(Integer b)>

parametri:

b : Integer object to compare with>

24. confronta() : Utilizzato per confrontare due valori int primitivi per l'uguaglianza numerica. Poiché è un metodo statico, può essere utilizzato senza creare alcun oggetto di Integer.

Sintassi:

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

parametri:

x : int value y : another int value>

25. segno() : restituisce -1 per valori negativi, 0 per 0 e +1 per valori maggiori di 0.

Sintassi:

public static int signum(int val)>

parametri:

val : int value for which signum is required.>

26. inverso() : restituisce un valore int primitivo invertendo l'ordine dei bit nella forma del complemento a due del valore int fornito.

Sintassi:

public static int reverseBytes(int val)>

parametri:

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

27. reverseBytes() : restituisce un valore int primitivo invertendo l'ordine dei byte nella forma del complemento a due del valore int fornito.

Sintassi:

public static int reverseBytes(int val)>

parametri:

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

28. static int compareUnsigned(int x, int y) : Questo metodo confronta due valori int numericamente trattando i valori come senza segno.

Sintassi:

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

29. static int divideUnsigned(int dividendo, int divisore) : Questo metodo restituisce il quoziente senza segno della divisione del primo argomento per il secondo in cui ciascun argomento e il risultato vengono interpretati come un valore senza segno.

Sintassi:

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

30. statico int max(int ​​a, int b) : Questo metodo restituisce il maggiore tra due valori int come se chiamasse Math.max.

Sintassi:

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

31. statico int min(int a, int b) : Questo metodo restituisce il più piccolo tra due valori int come se chiamasse Math.min.

Sintassi:

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

32. static int parseUnsignedInt(CharSequence s, int BeginIndex, int endIndex, int radix) : Questo metodo analizza l'argomento CharSequence come un int senza segno nella radice specificata, iniziando dal BeginIndex specificato e estendendosi fino a endIndex – 1.

Sintassi:

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

33. static int parseUnsignedInt(String s) : questo metodo analizza l'argomento stringa come un intero decimale senza segno.

Sintassi:

public static int parseUnsignedInt(String s) throws NumberFormatException>

34. static int parseUnsignedInt(String s, int radix) : questo metodo analizza l'argomento stringa come un intero senza segno nella radice specificata dal secondo argomento.

Sintassi:

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

35. static int restoUnsigned(int dividendo, int divisore) : Questo metodo restituisce il resto senza segno della divisione del primo argomento per il secondo in cui ciascun argomento e il risultato vengono interpretati come un valore senza segno.

Sintassi:

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

36. static int sum(int a, int b) : Questo metodo somma due numeri interi insieme secondo l'operatore +.

Sintassi:

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

37. statico lungo toUnsignedLong(int x) : Questo metodo converte l'argomento in un long tramite una conversione senza segno.

Sintassi:

public static long toUnsignedLong(int x)>

38. Stringa statica toUnsignedString(int i) : questo metodo restituisce una rappresentazione di stringa dell'argomento come valore decimale senza segno.

Sintassi:

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

Giava




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

>

>

Produzione :

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>

Inizializzazione della classe wrapper Integer in Java:

Tipo 1: inizializzazione diretta:

Un oggetto costante di classe Integer verrà creato all'interno dello spazio delle costanti nella memoria heap. Spazio delle costanti: è solo da immaginare per una migliore comprensione che ci sia dello spazio per le costanti nella memoria heap.

Esempio:

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

Intero x = 200

  • Il compilatore converte l'istruzione precedente in: Intero x=Intero.valoreOf(200) . Questo è noto come Autoboxing . Il valore intero primitivo 200 viene convertito in un oggetto.

(Per comprendere Autoboxing e Unboxing controlla qui: )

quante settimane ci sono in un mese
  • x punta a 200 che è presente nello spazio delle costanti. Fare riferimento alla Fig. 1.
Esempio immagine 1

Fig. 1

x = 300

  • L'autoboxing viene eseguito nuovamente perché x è un oggetto di classe Integer che viene inizializzato direttamente.
  • Nota: L'oggetto(x) inizializzato direttamente non può essere modificato poiché è una costante. Quando proviamo a modificare l'oggetto puntando a una nuova costante (300), la vecchia costante (200) sarà presente nella memoria heap, ma l'oggetto punterà alla nuova costante.
  • x punta a 300 che è presente nello spazio delle costanti. Fare riferimento alla Fig. 2.

Figura 2

x = 10

  • Nota: Per impostazione predefinita, per i valori da -128 a 127, il metodo Integer.valueOf() non creerà una nuova istanza di Integer. Restituisce un valore dalla sua cache.
  • x punti 10 che è presente nella cache.

Figura 3

Se assegniamo x = 200 o x=300 la prossima volta, punterà al valore 200 o 300 che è già presente nello spazio delle costanti. Se assegniamo valori a x diversi da questi due valori, viene creata una nuova costante.

(Controlla l'argomento relativo al confronto delle classi wrapper intere per una migliore comprensione)

Tipo 2: Inizializzazione dinamica:

Un oggetto di classe Integer che non è una costante verrà creato al di fuori dello spazio delle costanti. Crea anche una costante intera all'interno dello spazio delle costanti. La variabile punterà all'oggetto Integer e non alla costante Integer.

Esempio:

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

Intero a = nuovo intero(250)

  • 250 viene creato all'interno e all'esterno dello spazio delle costanti. La variabile 'a' indicherà il valore che si trova al di fuori dello spazio delle costanti. Fare riferimento alla Fig. 4.

Figura 4

a = 350;

  • Dopo l'autoboxing, la 'a' punterà a 350. Fare riferimento alla Fig. 5.

Figura 5

Se assegniamo a = 250 la prossima volta, non punterà all'oggetto già presente con lo stesso valore, creerà un nuovo oggetto.

Riferimenti: Documentazione Java ufficiale