Java/arraylist/type

Résolu/Fermé
CovasquisStef Messages postés 2 Date d'inscription jeudi 17 novembre 2016 Statut Membre Dernière intervention 25 juin 2017 - 25 juin 2017 à 14:14
 Coco - 29 juin 2017 à 00:37
Bonjour,
je suis débutant en java et je fais un exercice où il faut ajouter des animaux à les arraylist, je pense à voir suivis les règles, mais ca ne marche pas comme je voudrais à la fin. je vous mets les codes en bas

//*****mon interface***///

package ani;

public interface Animal {

public abstract void deplacer();
public abstract void manger();
public abstract void dormir();
public abstract void description();
}



//****classe fille*****///


package ani;

public class Mammifere implements Animal {

protected String nom;

public Mammifere(){
//this.nom = nom;
this.nom = getNom();
}

public Mammifere(String nom){
//this.nom = nom;
this.nom = getNom();
}
public String getNom() {
return nom;
}

public void setNom(String nom) {
this.nom = nom;
}

@Override
public void deplacer() {
// TODO Auto-generated method stub
System.out.println("Se déplace à quatre pattes");
}

@Override
public void manger() {
// TODO Auto-generated method stub

}

@Override
public void dormir() {
// TODO Auto-generated method stub

}

public void description(){

}

}



/******classe teste***//


package ani;

import java.util.ArrayList;

public class Test1 {

public static void main(String[] args) {
ArrayList<Animal> tab = new ArrayList<>();
Mammifere ma = new Mammifere();
Animal ma1 = new Mammifere("chat");
Mammifere a0 = new Mammifere("chien");
Mammifere a1 = new Mammifere("cheval");
Mammifere a2 = new Mammifere("tigre");

//ma.deplacer();
//ma1.getNom();

tab.add(ma1);
tab.add(a2);
tab.add(a0);
tab.add(a1);
tab.add(new Mammifere("ane"));
//for(int i = 0; i< tab.size();i++){
//Mammifere doc = tab.get(i);
//System.out.println(doc);
System.out.println(tab.contains(a2));
System.out.println(tab.subList(0, tab.size())+"\n");
//}

}

}



Quand je compile voici le résultat que j'ai:

true
[ani.Mammifere@1db9742, ani.Mammifere@106d69c, ani.Mammifere@52e922, ani.Mammifere@25154f, ani.Mammifere@10dea4e]

il dit qu'il ajoute mais je voit rien dans le tableau.

Merci de m'aider
A voir également:

1 réponse

KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 3 004
25 juin 2017 à 19:03
Bonjour,

L'affichage "ani.Mammifere@1db9742" est celui par défaut hérité de Object, il faut redéfinir la méthode
public String toString()
pour y voir plus clair.

PS. Je n'ai pas regardé le reste du code, mais si ça ne suffit pas à te débloquer je regarderai plus en détail.
0
Merci KX ça marche. J'ai redéfini le toString() dans la classe fille en retournant juste la variable nom et ca ajoute bien au tableau.
0