Java - 在实体中定义未知数量的变量

时间:2014-06-23 11:05:13

标签: java

我需要一个名为DynamicEntity的实体,其中我必须使用setter和getter定义一个UNKNOWN数量的变量。变量必须有一个我想给它们的名字,所以为此我得到了:

主要班级:

public class Main {
public static void main(String[] args) {
    DynamicEntity dynamic = new DynamicEntity();

    dynamic.parseVariable("int");
}
}

还有DynamicEntity类:

public class DynamicEntity {
public void parseVariable(String text) {

    String[] tokens = text.split("-");
    String variableType = tokens[0];
    String variableName = tokens[1];

    if (variableType.equals("int")) {
        int variableName = 0;
    }
}
}

由于已经定义了variableName,因此不会接受variableName。

问题是我不希望IF中的变量被称为variableName,我希望变量被称为标记内的最新内容[1]。

当然,为每个添加的新变量创建setter和getter,我不知道该怎么做。

1 个答案:

答案 0 :(得分:3)

您可以从地图结构中受益。作为键的位置,您将成员的名称和值作为值。

一个简单的概念示例:

class Dynamic { 
  private final Map<String,Object> members = new HashMap<>();

  public void setMember(String name, Object value) {
      members.put(name,value);
  }

  public Object getMember(String name) {
     return members.get(name);
  } 

}