在java中动态创建方法

时间:2014-07-23 20:38:21

标签: java

我有一个这种形式的csv文件:

DogType,DogName,DogColor GermanShephred,Jim,brown

在主类中我创建了一个狗对象(来自dog类),这样就

dog.setDogType = GermanShephred;
dog.SetDogName = Jim;
dog.SetDogColor = brown;

然后将其放入哈希表:

hashtable.put(dog,GermanShephred);

我需要概括代码,这意味着决定类别数量的用户(DogType,DogName,DogColor,DogAge,DogSex)和方法SetDogName等不应该在dog类中进行硬编码因为我们事先并不知道会有多少类别。

我不知道该怎么做。我应该在dog类中动态创建方法吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

也许你可以在地图中保存所有动物的属性:

public class Dog
{
    final public Map<String,String> attributes = new HashMap<>();
}

然后

final Dog dog = new Dog();
dog.attributes.put("type", "German Shepherd");
dog.attributes.put("name", "Jim");
dog.attributes.put("color", "Brown");

将用户提供的任何属性加载到地图中。当你需要输出/显示你的狗时,转储地图值。