kotlin - 如何从对象中获取多个值而不每次都调用对象的名称?
问题描述
我有Weekdays
一个有 7 个参数的类。我还有entity
一个对象,其中包含满足Weekdays
类的所有必需参数。通常我会写这样的东西来初始化这个类:
Weekdays(entity.isMonday,
entity.isTuesday,
entity.isWednesday,
entity.isThursday,
entity.isFriday,
entity.isSaturday,
entity.isSunday)
但是每次我需要调用entity
对象来从中获取价值。是否有任何关键字可以让我entity
每次想从中获得价值时都不要打电话?
解决方案
根据您的要求,您可以向您的Weekdays
类添加一个辅助构造函数,它以所示方式调用主构造函数。
或者你可以在它的伴生对象中添加一个工厂方法,它可以with
用来简化一点,例如:
class Weekdays(/*...*/) {
/*
...
*/
companion object {
fun Weekdays(entity: Entity) = with(entity) {
Weekdays(isMonday, isTuesday, isWednesday, isThursday, isFriday, isSaturday, isSunday)
}
}
}
或者您可以重组Weekdays
,使其具有数组或其他结构,而不是命名字段。
推荐阅读
- python - 将装饰器添加到python中的动态函数
- ios - 自定义启动图像未出现在 Ionic 3 项目的 LaunchImage.launchimage 文件夹中
- reactjs - How to display 5 page number by default in react
- boolean - 表示逻辑表达式的有效方法
- stata - 如何使用 bysort 组合新的字符串变量
- jmeter - 如何在beanshell处理器之间传递filewriter对象
- c# - 从设备管理器中读取属性?
- asp.net-mvc - 使用 _LoginPartial 和 .NET MVC 的动态导航栏
- python - Python Pandas - 非连续时间序列?
- jquery - autocomplete() 生成非文本输出