scala - Scala类构造函数很多字段
问题描述
我有一个带有 50 多个字段的主构造函数的类:
class HBaseEve (val rowKey: String,
...
val customer: String,
...
val managedEntityKey: String,
...
val withdrawalReasonForWithdrawal: String)
在我的伴生对象中,我声明了一个名为 parse 的方法,用于从 HBase 表中的记录创建 HBaseEve 对象:
object HBaseEve {
final val COLUMN_FAMILY = "cr"
override def parse(result: Result): HBaseEve = {
if (result.getRow != null)
new HBaseEve (
Bytes.toString(result.getRow),
...
Bytes.toString(result.getValue(HBaseEve.COLUMN_FAMILY.getBytes(), "customer".getBytes())),
...
Bytes.toString(result.getValue(HBaseEve.COLUMN_FAMILY.getBytes(), "managedEntityKey".getBytes())),
...
Bytes.toString(result.getValue(HBaseEve.COLUMN_FAMILY.getBytes(), "withdrawalReasonForWithdrawal".getBytes()))
)
else null
}
但是,这种方法 parse 不是很优雅,因为我的班级中有 50 多个字段需要手动填写。我不知道如何用其他更有效和更专业的方法替换此方法解析。
对此有任何想法吗?我搜索了 scala.Reflection 但我不知道如何使用它。无论如何,我愿意接受任何想法。
谢谢
解决方案
推荐阅读
- svelte - Svelte 商店有条件的自动订阅
- javascript - 在选择时将下拉值从函数传递给 React.useEffect()
- javascript - 重试加载 iframe 直到成功?
- javascript - 有没有办法让 v-on:click 仅显示特定对象的模式?
- r - 尝试在 r 上下载 Github 包时出错
- java - Android 蓝牙 LE 扫描仪仅在某些设备中打开手机位置时进行扫描
- css - 关闭转换,具有 !important 值,在响应时关闭
- postgresql - 在 POSTGRESQL 11.7 上 DROP TABLE 时自动 DROP FUNCTION
- office365connectors - 是否可以构建私有 Microsoft Teams 连接器
- sql-server - 创建数据库表依赖于 XML