Si vous souhaitez effectuer une con­ver­sion String to int en Java, deux options simples s’offrent à vous : parseInt() et valueOf(). Cependant, toutes deux ne fonc­tion­nent 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é­ra­tions String to int en Java

Les strings Java sont des chaînes qui peuvent contenir des ca­rac­tères, des chiffres ou des ca­rac­tères spéciaux. Des chiffres seuls sous forme de valeurs entières peuvent être stockés dans le langage de pro­gram­ma­tion en tant que nombre entier (int). Si vous utilisez une chaîne de ca­rac­tères uni­que­ment 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 con­ver­sion inverse, String to int, seules deux méthodes s’imposent : Integer parseInt() et Integer.valueOf(). Dé­cou­vrons comment elles fonc­tion­nent à l’aide d’exemples pratiques.

Note

Notez que cette con­ver­sion ne fonc­tionne 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 re­pré­sen­ter des nombres plus grands ou plus petits que ceux-ci.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus

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)
java

Pour mieux com­prendre son fonc­tion­ne­ment, étudions un exemple simple il­lus­trant la méthode. Pour ce faire, ini­tia­li­sons d’abord une chaîne de ca­rac­tè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 cor­res­pon­dant 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);
	}
}
java

L’in­di­ca­tion obtenue est :

La valeur à l’intérieur du string est : 7312
java

Par contre, cette méthode ne fonc­tionne que si la chaîne est uni­que­ment 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);
	}
}
java

Vous ob­tien­drez 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)
java

La méthode Integer.valueOf()

Integer.valueOf() est également une méthode de la classe Integer. Elle fournit l’in­ter­pré­ta­tion décimale d’un objet String et convient donc aussi pour une con­ver­sion String to int. En Java, sa syntaxe prend la forme suivante :

static int valueOf(int a)
java

Pour illustrer son fonc­tion­ne­ment, 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);
	}
}
java

Nous obtenons l’in­di­ca­tion suivante :

La valeur à l’intérieur du string est : 7312
java

Le message d’erreur qui s’affiche si d’autres ca­rac­tères sont placés à l’intérieur du string, est similaire à celui de l’exemple donné pour parseInt().

Aller au menu principal