JavaRush /Blog Java /Random-FR /Questions et réponses : Comment convertir correctement St...

Questions et réponses : Comment convertir correctement String en int en Java ?

Publié dans le groupe Random-FR
Niveau approximatif de connaissances requis : quête Java Syntax et un peu de Java Core.
Questions et réponses : Comment convertir correctement String en int en Java ?  - 1
À 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 inten Stringest très simple et qu'en général, presque tous les types primitifs peuvent être convertis Stringsans 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 parseIntde classe Integer. La méthode parseIntdoit être convertie Stringen intet lève une exception NumberFormatExceptionsi 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 myStringest 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 Stringen int, contrôle les possiblesNumberFormatException :
public class JavaStringToIntExample
{
  public static void main (String[] args)
  {
    // String s = "fred"; // use this if you need to test the //exception below
String s = "100";

    try
    {
      // this is where String is converted to int
      int i = Integer.parseInt(s.trim());

      // display the value after conversion
      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 sen 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 parseIntlè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 Stringet Integer:
  • Integer.toString (int i)utilisé pour convertir inten chaînes Java.
  • Si vous souhaitez convertir un objet Stringen objet Integer(plutôt qu'en classe primitive int), utilisez la méthode valueOf ()on-class Integerau 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
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION