Converti una stringa in un Int in Java

Mohammad Irfan 12 ottobre 2023
  1. Converti una String in un int usando parseInt() in Java
  2. Converti String in un int usando Apache in Java
  3. Converti String in un int usando decode() in Java
  4. Converti String in un int usando valueOf() in Java
  5. Converti String in un int usando parseUnsignedInt() in Java
  6. Converti String dopo aver rimosso i caratteri non numerici usando replaceAll() in Java
Converti una stringa in un Int in Java

Questo tutorial introduce come convertire una String in un int in Java ed elenca alcuni codici di esempio per capirlo.

Converti una String in un int usando parseInt() in Java

Sia String che int sono tipi di dati in Java. La String è usata per memorizzare informazioni testuali mentre int è usata per memorizzare dati numerici.

Qui, usiamo il metodo parseInt() della classe Integer che restituisce un numero intero. Poiché Java esegue l’auto-boxing implicito, è possibile memorizzarlo nel tipo primitivo int. Vedi l’esempio sotto.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1234";
    int int_val = Integer.parseInt(str);
    System.out.println(int_val);
  }
}

Produzione:

1234

Converti String in un int usando Apache in Java

Se stai lavorando con la libreria Apache, puoi usare il metodo toInt() della classe NumberUtils che restituisce un valore int. Se la stringa passata contiene un carattere non numerico, questo metodo non genera alcuna eccezione, ma restituisce 0. È sicuro usare toInt() invece di parseInt() che genera NumberFormatException. Vedi l’esempio sotto.

import org.apache.commons.lang3.math.NumberUtils;

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1234";
    int int_val = NumberUtils.toInt(str);
    System.out.println(int_val);
    str = "1234x"; // non-numeric string
    int_val = NumberUtils.toInt(str);
    System.out.println(int_val);
  }
}

Produzione:

1234
0

Converti String in un int usando decode() in Java

Possiamo usare il metodo decode() della classe Integer per ottenere il valore int da una stringa. Restituisce il valore Integer, ma se vuoi ottenere il valore int (primitivo) allora usa intValue() con il metodo decode(). Vedi l’esempio sotto.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.decode(str);
    System.out.println(int_val);
    // int primitive
    int_val = Integer.decode(str).intValue();
    System.out.println(int_val);
  }
}

Produzione:

1424

Converti String in un int usando valueOf() in Java

Possiamo usare il metodo valueOf() per ottenere un valore int di una stringa dopo la conversione.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.valueOf(str);
    System.out.println(int_val);
  }
}
1424 1424

Converti String in un int usando parseUnsignedInt() in Java

Se vogliamo convertire una stringa che non include un segno, usa il metodo parseUnsignedInt() per ottenere il valore int. Funziona bene con un valore di stringa non firmato e genera un’eccezione se il valore è firmato.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.parseUnsignedInt(str);
    System.out.println(int_val);
  }
}

Produzione:

1424

Converti String dopo aver rimosso i caratteri non numerici usando replaceAll() in Java

Se la stringa contiene caratteri non numerici, usa il metodo replaceAll() della classe String con regex per rimuovere tutti i caratteri non numerici e poi usa il metodo parseInt() della classe Integer per ottenere il suo valore intero equivalente. Vedi l’esempio sotto.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424x";
    str = str.replaceAll("[^\\d]", "");
    int int_val = Integer.parseInt(str);
    System.out.println(int_val);
  }
}

Produzione:

1424

Articolo correlato - Java String

Articolo correlato - Java Integer