[java] [Ljava.lang.String;@7d4991ad

Résolu/Fermé
domxaline - 16 mai 2013 à 17:07
KX Messages postés 16741 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 30 mai 2024 - 16 mai 2013 à 18:17
Bonjour,
j'écris ce prg,après compilation et exécution aucun problème mais
avec son output il s'ajoute une phrase, je ne comprend pas qu'est ce que c'est?
quelqu'un peut m'expliquer svp

public class Sdz1 
{
  public static void main(String[] args) 
  {
	String[]tab={"toto","tata","titi","tete"};
	int[]tab2={1,2,3,4,5};
	parcourrirTab(tab);
	System.out.println(tab);
	parcourrirTab(tab2);
	System.out.println(tab2);
  }
  
  static void parcourrirTab(String[]tab)
  {
	  for(String str:tab)
		  System.out.println(str);
  }
  static void parcourrirTab(int[]tab2)
  {
	  for(int str:tab2)
		  System.out.println(str);
  }
}


output:
toto
tata
titi
tete
[Ljava.lang.String;@7d4991ad
1
2
3
4
5
[I@28d93b30


[Ljava.lang.String;@7d4991ad

[I@28d93b30

que veut dire ces lignes ?

2 réponses

la ligne :
System.out.println(tab);
affiche "[Ljava.lang.String;@7d4991ad " qui doit etre l'identifiant java (ou le pointeur) du tableau tab, car tab n'est pas affichable comme les types simples comme une chaine et caratère ou un entier, c'est un objet donc il affiche l'identifant du pointeur de l'objet.

la ligne
System.out.println(tab2);
affiche "[I@28d93b30" pour la même raison
1
KX Messages postés 16741 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 30 mai 2024 3 016
16 mai 2013 à 18:17
"qui doit etre l'identifiant java (ou le pointeur) du tableau tab"
C'est son hashCode. Cela vient de la méthode toString de Object (par défaut) qui affiche le nom de la classe, un @, et le hashCode de l'objet.
0
merci beaucoup
0