import java.util.*;
public class fffff {

String str1;
String str2;
fffff[] ff=new fffff[3];
List<fffff> li=new ArrayList<fffff>();
public fffff(){
this.setName();
}
public fffff(String str1,String str2){
              
this.str1=str1;
this.str2=str2;
}

public void setName(){
for(int i=0;i<3;i++){
ff[i]=new fffff("dd"+i,"ff"+i);
li.add(ff[i]);
}

}

public void showName(){
Iterator <fffff>it=li.iterator();
while(it.hasNext()){
Object ob= it.next();
System.out.println(ob);
}
}

public static void main(String []args){
fffff oo=new fffff();
oo.showName();
}
}学JAVA 学的不精 请各位大大给指点下

解决方案 »

  1.   

    System.out.println(ob);
    这里相当于调用System.out.println(ob.toString());所以按你的要求,你得重写toString方法,如
    public String toString() {
         return str1 + str2;
    }
      

  2.   

    LS 你好 
    public String toString() {
      return str1 + str2;
    } 这个方法我写进去了 
    System.out.println(ob.toString());这里我也改了 可是还是输出的地址的啊
      

  3.   

    怎么可能是地址,你看看下面的程序import java.util.*;public class fffff {    String str1;
        String str2;
        fffff[] ff = new fffff[3];
        List<fffff> li = new ArrayList<fffff>();    public fffff() {
            this.setName();
        }    public fffff(String str1, String str2) {        this.str1 = str1;
            this.str2 = str2;
        }    public void setName() {
            for (int i = 0; i < 3; i++) {
                ff[i] = new fffff("dd" + i, "ff" + i);
                li.add(ff[i]);
            }    }    public void showName() {
            Iterator<fffff> it = li.iterator();
            while (it.hasNext()) {
                Object ob = it.next();
                System.out.println(ob);
            }
        }    public String toString() {
            return str1 + ", " + str2;
        }    public static void main(String[] args) {
            fffff oo = new fffff();
            oo.showName();
        }
    }
      

  4.   

    楼主,你这做的什么东东呀,我搞了半天都没有看懂?你在ff[i]写入的都是些这样的东东~
    ff[0] = com.web.test.Test@1c78e57
    ff[1] = com.web.test.Test@5224ee
    ff[2] = com.web.test.Test@f6a746
    就是下面的这句往里面写入的!!
    <font color=red>
     ff[i] = new fffff("dd" + i, "ff" + i);
    </font>
      

  5.   

    你这句li.add(ff[i]);是把地址存取在ArrayList<fffff>();然后 Object ob = it.next();
    要把改为  fffff ob=it.next();
    最后就可以 System.out.println(ob.str1+ob.str2);
         你存进的只是类地址;
      

  6.   

    重写toString()就行,怎么会不行的 我试啦?
      

  7.   

    toString 方法要重写!
    然后你的showName方法写的一仅是返回他的对象地址
      

  8.   

    public void showName(){
    Iterator <fffff>it=li.iterator();
    while(it.hasNext()){
    Object ob= it.next();
    System.out.println(ob.getName);
    }
    }