针对这种情况的具体数据类型?

时间:2011-01-13 16:58:28

标签: java arrays types

我想从数据库中提取数据。姓名,年龄,性别,位置。(可能更多字段)

我希望将数据保存在一个类似于我希望它在JSON对象中查看的对象中。

喜欢:

 myData{
        row1[name:beavis, age:48, sex:male, location:Joburg]
        row2[name:quintus, age:43, sex:, location:Helsinki]   
        ...up to say 500 rows
    }

所以我希望能够在java中执行tempName = row(i).name等等。

任何建议。

2 个答案:

答案 0 :(得分:2)

// Defines a Person datatype
public class Person {
  // fields
  private String name;
  private int age;
  private String location;

  // gets the value of a field
  public String getName() {
     return name;
  }

  // sets the value of a field
  public void setName(aName) {
     this.name = aName;
  }

}

我在这里做的是定义一个包含许多字段的Person类型。另外,我在这里给出一个名字字段的setter和getter的例子。您可以将它们放在数组或集合中。例如:

Person people[] = new Person[2];
people[0] = new Person();
people[0].setName("Alice");

你也可以通过将字段公开来免除设置者和吸气剂,但我不推荐它。

答案 1 :(得分:0)

该数据结构的直接翻译将沿着

的方向
List<Map<String, Object>> myData

所以你可以打电话

tempName = (String) myData.get(i).get("name");

与JSON数组一样,这不会强制执行键入(您必须在Java中显式处理),并且不会将字段限制为仅限于数据库中的字段。

如果所有数据库值都是字符串,则事情变得更清晰,因为不需要强制转换。

List<Map<String, String>> myData
tempName = myData.get(i).get("name");