Java >> Tutoriel Java >  >> Tag >> String

Comment convertir une chaîne en entier en Java

J'étais en train de créer une calculatrice simple en Java en utilisant Swing. Mes champs de saisie incluent JTextFieald et JTextArea. Ces champs d'entrée sont des chaînes, mais j'avais besoin de traiter des nombres entiers dans une calculatrice en raison des calculs mathématiques. Cela m'a amené à réfléchir à la façon dont je pourrais convertir ces chaînes en entiers ? C'est alors que je suis tombé sur ces deux méthodes bénéfiques. Le Integer.parseInt() et Interger.valueOf().

Dans ce didacticiel, nous discuterons de ces deux méthodes, mais juste avant de sauter, donnons un aperçu rapide de ce que sont les chaînes en Java.

Une chaîne est une séquence de caractères. En Java, les chaînes sont considérées comme des objets qui représentent la séquence de valeurs de caractères. Par exemple, si vous avez un mot comme "étudiant", dans ce cas, l'étudiant sera une chaîne de 7 caractères. Une fois qu'une chaîne est créée en Java, elle ne peut pas être modifiée. C'est donc un objet immuable.

Créer une chaîne

Il existe deux façons de créer une chaîne en Java. La première consiste à utiliser le littéral String et la seconde à utiliser le nouveau mot-clé.

Littéraux de chaîne

String website1 = "Codeunderscored";
String website2 = "Codeunderscored";

Dans l'exemple ci-dessus, la chaîne est la série de caractères entre guillemets doubles.

Nouveau mot clé

String website1 = new String ("Codeunderscored");
String website1 = new String ("Codeunderscored");

À partir des deux méthodes ci-dessus, vous remarquerez que si nous essayons de créer deux instances de chaîne telles que 'String website1 et String website2 en utilisant des littéraux, et en attribuant aux deux chaînes les mêmes valeurs, le compilateur ne créera qu'un seul objet String ayant la valeur "Codeunescored ”.

C'est là qu'intervient la deuxième méthode, en utilisant le nouveau mot-clé. Supposons que nous incorporions le nouveau mot-clé et que nous attribuions toujours aux chaînes les mêmes valeurs. Ensuite, le compilateur créerait deux objets différents ayant les mêmes valeurs de chaîne.

Public class SringClass  {
    public static void main(String[] args)
    {
        // Declare String without using new operator
        String website = "Codeunderscored";
 
        // Prints the String.
        System.out.println("String Website = " + website);
 
        // Declare String using new operator
        String website1 = new String("Codeunderscored");
 
        // Prints the String.
        System.out.println("String Website = " +website1 );
    }
}

Sortie :

run:
String Website = Codeunderscored
String Website = Codeunderscored
BUILD SUCCESSFUL (total time: 0 seconds)

Convertir une chaîne en int

Utilisez Integer.parseInt().

Cette méthode renvoie la chaîne en tant que type primitif. Pour effectuer des opérations mathématiques, vous devrez utiliser le type de données int. Prenons un scénario où nous recevons des données d'un TextArea. Ces données saisies sont au format String. Convertissons maintenant ces données en int en utilisant la méthode Integer.Parse()

public class StringClass{
  
 public static void main(String args[])
 {  
  //Declaring String variable  
  String number="300";
  
   String math = "400";
   
  //Converting String into int using Integer.parseInt()  
  int n=Integer.parseInt(number);
  int m=Integer.parseInt(math);
   
   int sum = n+m;
   
  //Printing the sum of te converted String 
  System.out.println("Sum = " +sum);  
  }
}

À partir du code ci-dessus, nous avons deux chaînes avec la valeur "300" et "400". La méthode parseInt() prend 'number' et 'math' comme arguments et renvoie la valeur entière après l'analyse. Nous ajoutons ensuite la valeur entière renvoyée et imprimons la somme.

Sortie :

run:
Sum = 700
BUILD SUCCESSFUL (total time: 0 seconds)

Exception de format de nombre

Integer.parseInt() lève une NumberFrormatException si vous transmettez une chaîne non valide ou si la chaîne est vide.

public class StringClass {

    public static void main(String[] args)
    {
        String number = "mnop";
      
        int n=Integer.parseInt(number);;
      
        System.out.println(n); 
    }
}

Sortie :

Exception in thread "main" java.lang.NumberFormatException: For input string: "mnop"
	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 stringclass.StringClass.main(StringClass.java:10)
C:\Users\Admin\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 0 seconds)

Integer.valueOf()

Cette méthode renvoie la chaîne sous la forme d'une classe d'entiers plutôt que d'un type primitif. Dans tous les cas, le résultat sera le même.

public class StringClass{
  
 public static void main(String args[])
 {  
  //Declaring String variable  
  String number="300";
  
   String math = "400";
   
  //Converting String into int using valueOf() 
  int n=Integer.valueOf(number);
  int m=Integer.valueOf(math);
   
   int sum = n+m;
   
  //Printing the sum of te converted String 
  System.out.println("Sum = " +sum);  
  }
}

Sortie :

run:
Sum = 700
BUILD SUCCESSFUL (total time: 0 seconds)

Ce sont les deux principales méthodes de conversion de String en int. Bien que la programmation ne soit pas limitée, nous avons également d'autres méthodes pour effectuer cette opération.

Utiliser Integer.decode()

public class StringClass {

    public static void main(String[] args)
    {
        String number = "300";
      
        int n = Integer.decode(number);
      
        System.out.println(n); 
    }
}

Sortie :

run:
300
BUILD SUCCESSFUL (total time: 0 seconds)

Utilisation du constructeur - new Integer(String)

public class StringClass {

    public static void main(String[] args)
    {
        String number = "300";
      
        int n = new Integer (number);
      
        System.out.println(n); 
    }
}

Sortie :

run:
300
BUILD SUCCESSFUL (total time: 0 seconds)

Conclusion

Le type de données Int est utilisé pour effectuer des opérations arithmétiques numériques ; même si un objet String contient des données numériques, vous devrez le convertir en int pour effectuer des calculs. Dans ce didacticiel, nous avons expliqué comment convertir facilement String en int.

Bon apprentissage.


Balise Java