【发布时间】:2015-08-03 16:32:01
【问题描述】:
我目前正在编写一些 Scala 脚本。我有一个包含一些 Java 类的依赖库。
一个类看起来像这样:
public class Animal {
protected String name;
protected String animalBreed;
public String getName() {
return this.name;
}
public void setName(String value) {
this.name = value;
}
public String getAnimalBreed() {
return this.animalBreed;
}
public void setAnimalBreed(String value) {
this.animalBreed = value;
}
}
我有一些 CSV 输入文件,它们不一定包含类的所有字段,并且可能有一些其他未定义的字段。
例如:
name,age
Spyke,2
我已经有一些将 CSV 转换为 Map[String,String] 的代码。但我正在寻找一种“动态”实例化我的Animal 类的方法。动态地,我的意思是自动设置可用字段并跳过其他字段。在这种情况下,它将创建一个新的 Animal 对象,该对象具有名称但没有品种和年龄。
我真的不知道这在 Scala 中是否可行,或者什么关键字可以帮助我进行 Google 搜索——感谢任何帮助!
【问题讨论】:
-
我建议对那些可能不存在的字段使用带有可选字段 (Option) 的案例类。在这种情况下,您可以使用 None 初始化不存在的字段,使用 Some(String) 初始化现有字段。