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

Conversion d'un tableau de chaînes en tableau Int en Java

Conversion d'un tableau de chaînes en tableau Int en Java | La chaîne est la collection d'une séquence de caractères immuables, ce qui signifie qu'une fois créée, ils ne peuvent pas être modifiés, tandis qu'un entier est un type de données qui ne prend qu'un nombre en entrée. Dans cette section, nous voyons comment convertir un tableau de chaînes en tableau int Java .

Par exemple :
Tableau de chaînes :{"89", "12", "023", "458", "3158"}
Tableau d'entiers :{89, 12, 23, 458, 3158}

Comment convertir un tableau de chaînes en tableau int Java

Pour changer le tableau de chaînes en tableau int en Java, nous devons parcourir le tableau de chaînes. Cela peut être fait dans les étapes suivantes :-

1. Prenez un tableau de chaînes
2. Déclarez un tableau int de même taille
3. Itérer le tableau de chaînes
4. Récupérer chaque élément du tableau de chaînes
5. Convertir un élément en variable
6. Stocker la valeur de la variable dans le tableau de chaînes

import java.util.Arrays;

public class Main {
   public static void main(String[] args) {
      String[] stringArr = {"89", "12", "023", "458", "3158"};
      System.out.println("String array: \n" 
             + Arrays.toString(stringArr));
      System.out.println("String array type: " 
             + stringArr.getClass().getName());
      
      // convert string array to int array
      int[] intArr = new int[stringArr.length];
      for (int i = 0; i < stringArr.length; i++) {
         intArr[i] = Integer.valueOf(stringArr[i]);
      }
      
      System.out.println("int array: \n" 
             + Arrays.toString(intArr));
      System.out.println("int array type: " 
             + intArr.getClass().getName());
   }
}

Sortie :-

Tableau de chaînes :
[89, 12, 023, 458, 3158]
Type de tableau de chaînes :[Ljava.lang.String ;
tableau int :
[89, 12, 23 , 458, 3158]
int type de tableau :[I

Convertir un tableau de chaînes en tableau Int dans Java Example-2

Dans l'exemple ci-dessus, nous avons converti l'élément de chaîne en int à l'aide de la méthode valueOf(). Mais si la chaîne donnée n'est pas analysable, la méthode valueOf() lève NumberFormatException. Dans ce cas, le programme ci-dessus se terminera au milieu. Pour résoudre ce problème, nous devons utiliser un bloc try-catch et ajouter uniquement les éléments au tableau int qui sont analysables.

Nous ne devrions pas prendre un tableau int et y ajouter la valeur du résultat car les tableaux sont de taille fixe. Dans le tableau de chaînes donné, combien d'éléments sont analysables, nous ne le savons pas. Par conséquent, il est préférable de prendre une liste, d'ajouter des éléments à la liste et de convertir ultérieurement la liste en tableau.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Main {
   public static void main(String[] args) {
      String[] stringArr = 
         { "89", "Hi", "023", "Hello123", "3158" };
      System.out.println("String array: \n" 
             + Arrays.toString(stringArr));
      System.out.println("String array type: " 
             + stringArr.getClass().getName());
      
      // convert string array to int array
      List<Integer> list = new ArrayList<>();
      for (int i = 0; i < stringArr.length; i++) {
         try {
            list.add(Integer.valueOf(stringArr[i]));
         } catch(NumberFormatException nfe) {}
      }
      
      // convert list to array
      Integer[] intArr = list.toArray(new Integer[] {});
      
      System.out.println("int array: \n" 
          + Arrays.toString(intArr));
      System.out.println("int array type: " 
          + intArr.getClass().getName());
   }
}

Sortie :-

Tableau de chaînes :
[89, Hi, 023, Hello123, 3158]
Type de tableau de chaînes :[Ljava.lang.String ;
tableau int :
[89, 23, 3158 ]
type de tableau int :[Ljava.lang.Integer ;


Balise Java