Comment convertir facilement une chaîne en entier en JAVA

Il existe deux façons de convertir une chaîne en entier en Java :

  1. Chaîne en entier en utilisant Integer.parseInt()
  2. Chaîne en entier en utilisant Integer.valueOf()

Comment convertir une chaîne Java en entier ?

Disons que vous disposez d'une chaîne – strTest – qui contient une valeur numérique.

String strTest = “100”;

Essayez d'effectuer une opération arithmétique comme diviser par 4 – Cela vous montre immédiatement une erreur de compilation.

class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    System.out.println("Using String:" + (strTest/4));
  }
}

Sortie :

/StrConvert.java:4: error: bad operand types for binary operator '/'
    System.out.println("Using String:" + (strTest/4));

Par conséquent, vous devez convertir une chaîne en int avant d'y effectuer des opérations numériques.

Exemple 1 : convertir une chaîne en entier à l'aide de Integer.parseInt()

Syntaxe de la méthode parseInt comme suit :

int <IntVariableName> = Integer.parseInt(<StringVariableName>);

Passez la variable chaîne comme argument.

Cela convertira le Chaîne Java en java Integer et stockez-le dans la variable entière spécifiée.

Vérifiez l'extrait de code ci-dessous-

class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    int iTest = Integer.parseInt(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
    //This will now show some arithmetic operation
    System.out.println("Arithmetic Operation on Int: " + (iTest/4));
  }
}

Production attendue:

Actual String:100
Converted to Int:100
Arithmetic Operation on Int: 25

Exemple 2 : convertir une chaîne en entier à l'aide d'Integer.valueOf()

La méthode Integer.valueOf() est également utilisée pour convertir une chaîne en entier en Java.

Following est l'exemple de code qui montre le processus d'utilisation de la méthode Integer.valueOf() :

public class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    //Convert the String to Integer using Integer.valueOf
    int iTest = Integer.valueOf(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
    //This will now show some arithmetic operation
    System.out.println("Arithmetic Operation on Int:" + (iTest/4));
  }
}

Production attendue:

Actual String:100
Converted to Int:100
Arithmetic Operation on Int:25

NumberFormatException

NumberFormatException est levée si vous essayez d'analyser une chaîne numérique non valide. Par exemple, la chaîne « Guru99 » ne peut pas être convertie en entier.

Mise en situation :

public class StrConvert{
  public static void main(String []args){
    String strTest = "Guru99";
    int iTest = Integer.valueOf(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
  }
}

L'exemple ci-dessus donne suitewing exception dans la sortie :

Exception in thread "main" java.lang.NumberFormatException: For input string: "Guru99"