tearfish 2008-10-11 20:37
浏览 206
已采纳

list 遍列对像

[code="java"]
package com.pro;

import java.util.Date;

public class Credence implements java.io.Serializable {

// Fields

private Integer keyId;

public Credence() {
}


public Credence(Integer keyId) {
    this.keyId = keyId;
}

     public Integer getKeyId() {
    return this.keyId;
}

public void setKeyId(Integer keyId) {
    this.keyId = keyId;
}

public boolean equals(Object obj) {
    if (obj instanceof Credence) {
        Credence cd = (Credence) obj;
        return (keyId.equals(cd.keyId));
    }
    return super.equals(obj);
}

public int hashCode() {
    return keyId.hashCode();
}

}
[/code]
[code="java"]
public class DemoTest {

/**
 * @param args
 */
public static void main(String[] args) {
    Credence cd = new Credence();
    List list = new ArrayList();
    for(int i=0;i<10;i++){
        cd.setKeyId(i);
        list.add(i,cd);
    }
    Iterator iterator = list.iterator(); 
    while(iterator.hasNext()) 
    { 
    cd = (Credence)iterator.next(); 
    System.out.println(cd.getKeyId()); 
    }
}

}
[/code]
怎么无法遍列出对像的,输出都是9,麻烦高手帮我解决,谢谢!

  • 写回答

2条回答 默认 最新

  • xiaoliu216 2008-10-11 21:17
    关注

    [code="java"]

    Credence cd = new Credence();

    List list = new ArrayList();

    for(int i=0;i<10;i++){

    cd.setKeyId(i);

    list.add(i,cd);

    }

    [/code]
    里的代码修改成

    [code="java"]

    Credence cd ;

    List list = new ArrayList();

    for(int i=0;i<10;i++){

    cd = new Credence();

    cd.setKeyId(i);

    list.add(i,cd);

    }

    [/code]

    每次新建一个Credence对象,不然一直再操作同一个。。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?