J'utilise le code suivant pour convertir un tableau d'objets en un tableau de chaînes de caractères :
Object Object_Array[]=new Object[100];
// ... get values in the Object_Array
String String_Array[]=new String[Object_Array.length];
for (int i=0;i<String_Array.length;i++) String_Array[i]=Object_Array[i].toString();
Mais je me demande s'il existe un autre moyen de le faire, quelque chose comme :
String_Array=(String[])Object_Array;
Mais cela provoquerait une erreur d'exécution : `Exception in thread "AWT-EventQueue-0" ; java.lang.ClassCastException : [Ljava.lang.Object ; cannot be cast to [Ljava.lang.String;``.
Quelle est la bonne façon de procéder ?
Le framework google collections offre une bonne méthode de transformation, vous pouvez donc transformer vos objets en chaînes de caractères. Le seul inconvénient est que la transformation doit se faire de Iterable
Iterable<Object> objects = ....... //Your chosen iterable here
Iterable<String> strings = com.google.common.collect.Iterables.transform(objects, new Function<Object, String>(){
String apply(Object from){
return from.toString();
}
});
Cela vous éloigne de l'utilisation des tableaux, mais je pense que c'est la méthode que je préfère.