Java String to Int - Comment convertir une chaîne en entier

Les objets chaîne sont représentés sous la forme d'une chaîne de caractères.

Si vous avez travaillé dans Java Swing, il contient des composants tels que JTextField et JTextArea que nous utilisons pour obtenir notre entrée à partir de l'interface graphique. Il prend notre entrée sous forme de chaîne.

Si nous voulons faire une calculatrice simple en utilisant Swing, nous devons trouver comment convertir une chaîne en entier. Cela nous amène à la question - comment pouvons-nous convertir une chaîne en entier?

En Java, nous pouvons utiliser Integer.valueOf()et Integer.parseInt()pour convertir une chaîne en entier.

1. Utilisez Integer.parseInt () pour convertir une chaîne en un entier

Cette méthode renvoie la chaîne sous la forme d'un type primitif int . Si la chaîne ne contient pas un entier valide, elle lèvera une NumberFormatException.

Ainsi, chaque fois que nous convertissons une chaîne en un entier, nous devons prendre soin de cette exception en plaçant le code dans le bloc try-catch.

Prenons un exemple de conversion d'une chaîne en un entier en utilisant Integer.parseInt():

 String str = "25"; try{ int number = Integer.parseInt(str); System.out.println(number); // output = 25 } catch (NumberFormatException ex){ ex.printStackTrace(); }

Essayons de casser ce code en entrant un entier invalide:

 String str = "25T"; try{ int number = Integer.parseInt(str); System.out.println(number); } catch (NumberFormatException ex){ ex.printStackTrace(); }

Comme vous pouvez le voir dans le code ci-dessus, nous avons essayé de convertir 25Ten un entier. Ce n'est pas une entrée valide. Par conséquent, il doit lever une NumberFormatException.

Voici la sortie du code ci-dessus:

java.lang.NumberFormatException: For input string: "25T" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.parseInt(Integer.java:615) at OOP.StringTest.main(StringTest.java:51)

Ensuite, nous examinerons comment convertir une chaîne en entier à l'aide de la Integer.valueOf()méthode.

2. Utilisez Integer.valueOf () pour convertir une chaîne en un entier

Cette méthode renvoie la chaîne sous la forme d'un objet entier . Si vous consultez la documentation Java, Integer.valueOf()renvoie un objet entier qui équivaut à a new Integer(Integer.parseInt(s)).

Nous placerons notre code dans le bloc try-catch lors de l'utilisation de cette méthode. Prenons un exemple utilisant la Integer.valueOf()méthode:

 String str = "25"; try{ Integer number = Integer.valueOf(str); System.out.println(number); // output = 25 } catch (NumberFormatException ex){ ex.printStackTrace(); }

Maintenant, essayons de casser le code ci-dessus en entrant un nombre entier invalide:

 String str = "25TA"; try{ Integer number = Integer.valueOf(str); System.out.println(number); } catch (NumberFormatException ex){ ex.printStackTrace(); }

Semblable à l'exemple précédent, le code ci-dessus lèvera une exception.

Voici la sortie du code ci-dessus:

java.lang.NumberFormatException: For input string: "25TA" at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) at java.lang.Integer.parseInt(Integer.java:580) at java.lang.Integer.valueOf(Integer.java:766) at OOP.StringTest.main(StringTest.java:42)

Nous pouvons également créer une méthode pour vérifier si la chaîne transmise est numérique ou non avant d'utiliser les méthodes mentionnées ci-dessus.

J'ai créé une méthode simple pour vérifier si la chaîne transmise est numérique ou non.

public class StringTest { public static void main(String[] args) { String str = "25"; String str1 = "25.06"; System.out.println(isNumeric(str)); System.out.println(isNumeric(str1)); } private static boolean isNumeric(String str){ return str != null && str.matches("[0-9.]+"); } }

La sortie est:

true true

La isNumeric()méthode prend une chaîne comme argument. Tout d'abord, il vérifie si c'est le cas nullou non. Après cela, nous utilisons la matches()méthode pour vérifier si elle contient les chiffres 0 à 9 et un caractère point.

Il s'agit d'un moyen simple de vérifier les valeurs numériques. Vous pouvez écrire ou rechercher sur Google des expressions régulières plus avancées pour capturer des chiffres en fonction de votre cas d'utilisation.

Il est recommandé de vérifier si la chaîne transmise est numérique ou non avant d'essayer de la convertir en entier.

Merci pour la lecture.

Image de l'article par 🇸🇮 Janko Ferlič sur Unsplash

Vous pouvez communiquer avec moi sur Medium.

Bon codage!