如何解决验证Kotlin类构造函数中是否存在至少一组args
场景
我需要创建一个Kotlin类,该类的构造函数最多可以接收4个参数,但只需要3个中的至少1个(第四个是完全可选的)。为了说明:
class Pie {
// Completely optional,the constructor should use it if present,otherwise it may be null.
var topping: String?
// Of these three [fillingA,fillingB,fillingC] 1 or more must be present.
var fillingA: String?
var fillingB: String?
var fillingC: String?
}
想法
我曾尝试使用Kotlin init{}
块进行验证或伸缩构造函数,但它的速度很快,而且还没有解决。不过,在kotlinlang.org文档中,关于主/辅助构造函数的任何内容,我都没有发现更优雅的地方。我的喜好是找到与@Size
或@NotNull
批注类似的内容,但找不到任何接近的内容。
请务必注意,我正在使用此类作为API响应的模型。
问题
最简单的方法是验证Kotlin类是否将至少一组参数传递给其构造函数?
解决方法
这种馅料可以互换吗?您可以假设总是需要fillingA,而其他则是可选的,如下所示:
BinaryReader
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。