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,麻烦高手帮我解决,谢谢!

[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对象,不然一直再操作同一个。。。。

[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对象...