Java String to int : les deux méthodes de conversion pratiques
Si vous souhaitez effectuer une conversion String to int en Java, deux options simples s’offrent à vous : parseInt()
et valueOf()
. Cependant, toutes deux ne fonctionnent que si la chaîne (string) ne contient que des nombres entiers et ne dépasse pas la plage de valeurs du type de données Integer
.
Opérations String to int en Java
Les strings Java sont des chaînes qui peuvent contenir des caractères, des chiffres ou des caractères spéciaux. Des chiffres seuls sous forme de valeurs entières peuvent être stockés dans le langage de programmation en tant que nombre entier (int
). Si vous utilisez une chaîne de caractères uniquement composée de nombres entiers, vous pouvez la convertir en primitive Java Integer
. Il existe en langage Java au moins cinq façons pratiques de convertir int to String. Pour la conversion inverse, String to int, seules deux méthodes s’imposent : Integer parseInt()
et Integer.valueOf()
. Découvrons comment elles fonctionnent à l’aide d’exemples pratiques.
Notez que cette conversion ne fonctionne que si la valeur est comprise dans la plage de valeurs entre -2147483648 et 2147483647. Le type de données Integer
ne permet donc pas de représenter des nombres plus grands ou plus petits que ceux-ci.
- Certificat SSL et protection DDoS
- Sauvegarde et restauration des données
- Assistance 24/7 et conseiller personnel
La méthode Integer.parseInt()
parseInt()
est une méthode statique de la classe Integer
. Elle peut renvoyer la valeur d’un type de données complexe string
sous la forme d’un type de données primitif int
. Sa syntaxe ressemble à ceci :
static int parseInt(String s)
javaPour mieux comprendre son fonctionnement, étudions un exemple simple illustrant la méthode. Pour ce faire, initialisons d’abord une chaîne de caractères qui ne contient que la valeur entière « 7312 ». Ensuite, nous exécutons une opération Java String to int avec la méthode parseInt()
et utilisons la commande java System.out.println
pour afficher la valeur générée. Le code correspondant prend la forme suivante :
public class Main {
public static void main(String args[]) {
String str = "7312";
int nombre = Integer.parseInt(str);
System.out.println("La valeur à l’intérieur du string est : " + nombre);
}
}
javaL’indication obtenue est :
La valeur à l’intérieur du string est : 7312
javaPar contre, cette méthode ne fonctionne que si la chaîne est uniquement composée de nombres entiers. Si ce n’est pas le cas et que vous appliquez tout de même la méthode parseInt()
comme suit :
public class Main {
public static void main(String args[]) {
String str = "Le nombre recherché est 7312";
int nombre = Integer.parseInt(str);
System.out.println("La valeur à l’intérieur du string est : " + nombre);
}
}
javaVous obtiendrez le message d’erreur suivant :
Exception in thread "main" java.lang.NumberFormatException: For input string: "Le nombre recherché est 7312"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:661)
at java.base/java.lang.Integer.parseInt(Integer.java:777)
at Main.main(Main.java:4)
javaLa méthode Integer.valueOf()
Integer.valueOf()
est également une méthode de la classe Integer
. Elle fournit l’interprétation décimale d’un objet String et convient donc aussi pour une conversion String to int. En Java, sa syntaxe prend la forme suivante :
static int valueOf(int a)
javaPour illustrer son fonctionnement, voici un autre exemple simple :
public class Main {
public static void main(String args[]) {
String newString = "7312";
int parNombre = Integer.valueOf(newString);
System.out.println("La valeur à l’intérieur du string est : " + parNombre);
}
}
javaNous obtenons l’indication suivante :
La valeur à l’intérieur du string est : 7312
javaLe message d’erreur qui s’affiche si d’autres caractères sont placés à l’intérieur du string, est similaire à celui de l’exemple donné pour parseInt()
.