J'ai une question à propos de Java. J'ai un Object[]
(Java par défaut, pas l'utilisateur) et je veux le convertir en String[]
. Quelqu'un peut-il m'aider? Je vous remercie.Comment convertir l'objet [] en chaîne [] en Java?
Répondre
c'est la conversion
for(int i = 0 ; i < objectArr.length ; i ++){
try {
strArr[i] = objectArr[i].toString();
} catch (NullPointerException ex) {
// do some default initialization
}
}
C'est coulée
String [] strArr = (String[]) objectArr; //this will give you class cast exception
Mise à jour:
Tweak 1
String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);
Tweak2
Arrays.asList(Object_Array).toArray(new String[Object_Array.length]);
Remarque: Cela ne fonctionne que si les objets sont toutes les chaînes; fonctionne son code actuel, même si elles ne sont pas
forTweak1: uniquement sur Java 1.6 et au-dessus
Je pense que c'est la façon la plus simple si toutes les entrées de objectArr sont cordes:
for(int i = 0 ; i < objectArr.length ; i ++){
strArr[i] = (String) objectArr[i];
}
donne une exception de cast de classe si vous avez autre chose que des chaînes dans le tableau d'objet ... – aioobe
pas si vous suivez mes instructions :): Je pense que c'est le moyen le plus simple * si toutes les entrées dans objectArr sont String *: – nanda
Désolé. tu as raison. ma faute. – aioobe
simplement coulée comme ce String[] strings = (String[]) objectArray;
ne fonctionnera probablement pas.
Essayez quelque chose comme ceci:
public static String[] asStrings(Object... objArray) {
String[] strArray = new String[objArray.length];
for (int i = 0; i < objArray.length; i++)
strArray[i] = String.valueOf(objArray[i]);
return strArray;
}
Vous pouvez ensuite utiliser la fonction soit comme celui-ci
Object[] objs = { "hello world", -1.0, 5 };
String[] strings = asStrings(objs);
ou comme celui-ci
String[] strings = asStrings("hello world", -1.0, 5);
Il ne gérera pas NPE, avec un tableau cela pourrait être souvent le cas. –
Ops. Il devrait être 'String.valueOf' (l'avait dans une révision précédente :-) corrigée. Merci. – aioobe
Je suppose que vous pouvez également utiliser System.arraycopy
fourni, strarray
est de la longueur objarray.length
et objarray contient uniquement des chaînes. Ou il lancerait ArrayStoreException. Voir le commentaire d'aioobe.
- 1. Comment convertir une chaîne en RegularTimePeriod en java?
- 2. Convertir une chaîne Java en tableau
- 3. Java: convertir la chaîne en date
- 4. Convertir une chaîne en double - Java
- 5. Java convertir une chaîne HEX en BigInt
- 6. Convertir mois Chaîne à Integer en Java
- 7. Convertir une chaîne de base25 à chaîne binaire en Java
- 8. Convertir une chaîne en flux d'entrée XML en Java
- 9. Convertir une chaîne en Uri
- 10. comment convertir JSON en chaîne
- 11. comment convertir WIN32_FIND_DATA en chaîne?
- 12. Comment convertir une chaîne en CharSequence?
- 13. pas en mesure de convertir BigDecimal chaîne en java
- 14. convertir la chaîne de caractères hexadécimale en entier en Java
- 15. convertir chaîne de format .net en format java chaîne
- 16. Convertir int en chaîne?
- 17. Convertir SHA1 en chaîne
- 18. Convertir l'objet en chaîne
- 19. Comment convertir une chaîne TIS-620 en chaîne UTF-8 en Java?
- 20. JavaME: Convertir chaîne en camelCase
- 21. Convertir IDispatch * en chaîne?
- 22. Comment convertir une chaîne strings en chaîne en C++?
- 23. convertir bitset en chaîne?
- 24. Convertir NSString en chaîne
- 25. chaîne Convertir en carboniser
- 26. Comment convertir une représentation binaire d'une chaîne en une chaîne?
- 27. Comment convertir HTML en UTF-8 en java
- 28. Chaîne en bitmap java/android
- 29. Comment convertir une chaîne en ascii en binaire en C#?
- 30. Convertir la chaîne en SecureString
D'où vient cet objet []? –