Convertir une chaîne en tableau de caractères en Java
Cet article explique comment convertir une chaîne en tableau de caractères en Java.
Il existe plusieurs façons de convertir une chaîne en tableau de caractères en Java, qui consiste à diviser la séquence de caractères de la chaîne en caractères individuels et à les stocker dans un tableau. Certaines des méthodes possibles sont :
1. Utilisation String.toCharArray()
méthode
Un moyen simple et le plus courant de convertir une chaîne en un tableau de caractères en Java consiste à utiliser le String.toCharArray()
méthode, qui renvoie un nouveau tableau de caractères contenant les mêmes caractères que la chaîne. Par exemple:
1 2 3 4 5 6 7 8 9 10 11 12 |
import java.util.Arrays; class Main { public static void main(String[] args) { String s = "Java"; char[] chars = s.toCharArray(); System.out.print(Arrays.toString(chars)); // [J, a, v, a] } } |
2. Utiliser une boucle
Une autre option consiste à utiliser un pour la boucle pour parcourir les caractères de la chaîne et les affecter à un nouveau tableau de caractères. Cette méthode nous oblige à créer un nouveau tableau de caractères de la même longueur que la chaîne et à utiliser le String.charAt()
méthode pour accéder à chaque caractère de la chaîne par son index. Cette approche peut être utilisée pour les chaînes plus petites. Par exemple:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.Arrays; class Main { public static void main(String[] args) { String s = "Java"; char[] chars = new char[s.length()]; for (int i = 0; i < s.length(); i++) { chars[i] = s.charAt(i); } System.out.print(Arrays.toString(chars)); // [J, a, v, a] } } |
3. Utiliser la réflexion
Une troisième façon de convertir une chaîne en tableau de caractères en Java consiste à utiliser Reflection. Pour les cordes longues, rien ne vaut la réflexion en termes de performances. Nous pouvons inspecter n'importe quelle chaîne en utilisant la réflexion et accéder au tableau de support de la chaîne spécifiée. Voici un exemple d’utilisation de la réflexion pour cette tâche :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import java.lang.reflect.Field; import java.util.Arrays; class Main { public static void main(String[] args) { String s = "Java"; Field field = null; try { field = String.class.getDeclaredField("value"); } catch (NoSuchFieldException e) { e.printStackTrace(); } field.setAccessible(true); char[] chars = new char[0]; try { chars = (char[]) field.get(s); } catch (IllegalAccessException e) { e.printStackTrace(); } System.out.print(Arrays.toString(chars)); // [J, a, v, a] } } |
Notez que setAccessible()
La méthode est obsolète avec Java 9 et ne fonctionnera plus à l’avenir. Par conséquent, le code entraînerait une opération d'accès réfléchissante illégale et jetterait java.lang.IllegalAccessException
. Il s'agit de convertir une chaîne en un tableau de caractères en Java.
Article similaire: