Probleme pour convertir un tableau de string en tableau de int
tony1683
Messages postés
21
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour tout le monde, voilà j'ai un petit problème, comme le dit le titre, je voudrais convertir un tableau de string en tableau de int. Voici mon code pour le moment :
L'affichage est :
45213
254
42
3
[I@139a55
Je ne comprends pas la dernière ligne.
import java.lang.Integer; public class Conversion { public static int[] StringToInt(String[] chaine) { int reel[] = new int[chaine.length]; for(int i = 0; i < chaine.length; i++) { reel[i] = Integer.parseInt(chaine[i]); System.out.println(reel[i]); } return reel; } public static void main (String[] args) { System.out.print(StringToInt(args)); } }
L'affichage est :
45213
254
42
3
[I@139a55
Je ne comprends pas la dernière ligne.
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Probleme pour convertir un tableau de string en tableau de int
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer un tableau excel - Guide
1 réponse
Bonjour,
La règle pour l'affichage d'un objet c'est d'utiliser la méthode
Dans ton cas, le nom de classe c'est [I avec [ pour marquer que c'est un tableau et I pour le type int, suivi de @139a55 où 139a55 est le hashCode de l'objet en hexadécimal.
Tu peux faire des tests comme ça :
Remarque : le L est utilisé pour indiquer que le tableau est de type objet, suivi du nom de classe de cet objet (String par exemple).
StringToInt(args)renvoie un objet de type
int[]donc quand tu fais
System.out.print(StringToInt(args))tu affiches un
int[].
La règle pour l'affichage d'un objet c'est d'utiliser la méthode
toString()de cet objet, or la méthode
toString()d'un
int[]ou de n'importe quels tableaux en général n'est pas redéfinie, elle utilise donc la méthode
toString()de la classe
Object, c'est à dire :
getClass().getName() + '@' + Integer.toHexString(hashCode())
Dans ton cas, le nom de classe c'est [I avec [ pour marquer que c'est un tableau et I pour le type int, suivi de @139a55 où 139a55 est le hashCode de l'objet en hexadécimal.
Tu peux faire des tests comme ça :
public static void main(String[] args) { System.out.println(new int[0]); // [I ← I pour int System.out.println(new int[0][0]); // [[I ← noter les deux [ System.out.println(new double[0]); // [D ← D pour double System.out.println(new String[0]); // [Ljava.lang.String; }
Remarque : le L est utilisé pour indiquer que le tableau est de type objet, suivi du nom de classe de cet objet (String par exemple).