Niveau approximatif de connaissances requis : quête Java Syntax et un peu de Java Core.
À la fin de la première quête JavaRush, nous en apprenons davantage sur la conversion de type. Dans les cours de niveau 10, vous avez pu constater que la conversion int
en String
est très simple et qu'en général, presque tous les types primitifs peuvent être convertis String
sans problème.
int x = 5;
String text = "X=" + x;
De plus, ceux qui ont déjà terminé le niveau 10 de la quête Java Syntax savent qu'il est impossible de convertir une référence à un nombre en une référence à une chaîne. Alors, quelle est la meilleure façon de convertir une chaîne en un entier primitif ? Il est préférable de le faire en utilisant la méthode parseInt
de classe Integer
. La méthode parseInt
doit être convertie String
en int
et lève une exception NumberFormatException
si la chaîne ne peut pas être convertie en type int
.
Exemple
Ligne de base qui convertit une chaîne en entier :
int i = Integer.parseInt (myString);
Si la chaîne indiquée par la variable myString
est un entier valide, tel que "1", "200", Java la convertira silencieusement en un type de données primitif int
. Si, pour une raison quelconque, cela échoue, une telle action peut générer une exception NumberFormatException
. Par conséquent, pour que le programme fonctionne correctement pour n'importe quelle chaîne, nous avons besoin d'un peu plus de code. Un programme qui démontre la méthode de conversion Java String
en int
, contrôle les possiblesNumberFormatException
:
public class JavaStringToIntExample
{
public static void main (String[] args)
{
String s = "100";
try
{
int i = Integer.parseInt(s.trim());
System.out.println("int i = " + i);
}
catch (NumberFormatException nfe)
{
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
Discussion
Lorsque vous étudiez l'exemple ci-dessus, vous verrez que la méthode Integer.parseInt (s.trim ())
est utilisée pour transformer une chaîne s
en entier i
, et cela se produit dans la ligne de code suivante :
int i = Integer.parseInt (s.trim ())
Mais parfois, convertir une chaîne en nombre ne fonctionnera tout simplement pas. Dans notre exemple, une telle chaîne est le nom fred. On peut parler de codes dans lesquels les lettres sont écrites sur un ordinateur, mais, formellement parlant, fred n'est pas un nombre, et il vaut mieux le laisser sous forme de chaîne. Notre programme est conçu de telle sorte que si vous essayez de convertir "fred" en nombre, le processus Integer parseInt
lèvera une exception NumberFormatException
, que vous devrez gérer dans un bloc try / catch
. Dans ce cas, vous n'êtes pas obligé d'utiliser la méthode trim ()
class String
, mais dans la vraie programmation, vous devriez l'utiliser. Nous vous l'avons donc montré. Puisque ce sujet a été abordé, voici quelques « astuces » sur le thème des cours String
et Integer
:
Integer.toString (int i)
utilisé pour convertir int
en chaînes Java.
- Si vous souhaitez convertir un objet
String
en objet Integer
(plutôt qu'en classe primitive int
), utilisez la méthode valueOf ()
on-class Integer
au lieu de parseInt ()
.
- Si vous devez convertir des chaînes en champs Java primitifs supplémentaires, utilisez des méthodes comme celle-ci
Long.parseLong ()
.
Répondu par : Alice Watson
GO TO FULL VERSION