我可以使用不同类型数据的单个字符串吗?

时间:2012-09-20 05:26:05

标签: java android

我有两种类型的数据,例如: - 我需要一个有女孩和男孩名字的学生阵列,我还需要分别检索女孩和男孩的名字。

我可以在带有任何描述符的java中执行此操作吗?

2 个答案:

答案 0 :(得分:1)

你可以这样做:

Map<String, List<Student>> students = new HashMap<String, List<Student>>();
List<Student> boysList = new ArrayList<Student>();
...
List<Student> girlsList = new ArrayList<Student>();
...
students.put("girls", girlsList);
students.put("boys", boysList);

原样,您不能只是在字符串中抛出随机名称,并希望语言知道哪个是哪个。如果您在两个列表的字符串表示之后,可以使用类似上面的内容,然后使用XStream之类的东西从给定的数据结构中生成XML。

编辑:

要检索有关男生的详细信息,您可以执行以下操作:

for(Student boy : students.get("boys"))
{
    System.out.println(boy.getName());
}

女生:

for(Student girl: students.get("girls"))
{
    System.out.println(boy.getName());
} 

答案 1 :(得分:1)

以下是

的方式
  1. 为学生创建课程。
  2. 创建学生列表或单独列表

    class Student {
    private String name;
    private Gender gender;
    
    public Student(String name, Gender gender) {
    
        this.setName(name);
        this.setGender(gender);
    }
    
    public Gender getGender() {
        return gender;
    }
    
    public void setGender(Gender gender) {
        this.gender = gender;
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    List<Student> students = new ArrayList<Student>();
    
    // Provide method like get student etc. It is not efficient to put both
    // in one list you can use separate list as well or a Hashmap
     }
    public enum Gender {
        BOY, GIRL
    }