ArrayList返回所有条目的最后一项

Dar*_*nst 4 java arraylist

我试图用对象填充ArrayList以传递给ArrayAdapter(最终).我已经将一些代码提取到一个小的测试项目来说明问题.

我有一个名为Rules的类,它有两个成员,Gender和Age(Rules.Java).在MyArrayTest类中,我创建了Rules对象的实例,并将它们添加到rule_parts ArrayList中.当我遍历数组时,循环执行预期的次数,但重复最后一个元素.请有人指出原因.

Rules.Java

public class Rules {
public static String Gender;
public static Integer Age;


public Rules(String G, Integer C) {
//super();
    Gender = G;
    Age = C;
    }
}
Run Code Online (Sandbox Code Playgroud)

主类 - MyArrayTest.java

import java.util.ArrayList;


public class MyArrayTest {


private static ArrayList<Rules> rule_parts = new ArrayList<Rules>();

public static void main(String[] args) {


// Rules Array  
rule_parts.add(new Rules("Male",25));
rule_parts.add(new Rules("Female",22));

System.out.printf("\n\nRules:\n\n");
for (Rules r : rule_parts) {
    System.out.printf (r.Gender + "\n");
    System.out.printf(r.Age + "\n");


    }

}

}
Run Code Online (Sandbox Code Playgroud)

输出如下:

规则:

女22

女22

Rei*_*eus 5

您需要GenderAgestatic否则这些领域将只保留每类成员变量的单个值:

public String gender;
public Integer age;
Run Code Online (Sandbox Code Playgroud)

旁白: Java命名约定表明变量以小写字母开头Gender gender等开头 .