【发布时间】:2021-02-09 07:54:55
【问题描述】:
是否有任何 Kotlin 集合/数据类能够存储如下所示的表数据? 我只能弄清楚存储项目和价值的方式如下:
var WorkA = mapOf{"Name" to "AA", "Gender" to "Female"}...
但我不知道如何链接“验证结果”。
请给我一些建议,因为我是新手。谢谢。
【问题讨论】:
标签: android kotlin collections
是否有任何 Kotlin 集合/数据类能够存储如下所示的表数据? 我只能弄清楚存储项目和价值的方式如下:
var WorkA = mapOf{"Name" to "AA", "Gender" to "Female"}...
但我不知道如何链接“验证结果”。
请给我一些建议,因为我是新手。谢谢。
【问题讨论】:
标签: android kotlin collections
我将创建一个Worker 数据类,其中Item 列中列出的字段作为属性和一些表示这些字段有效性的布尔属性。
data class Worker(val name:String, val gender :String, val age :Int, val tel:String,val email:String){
var isNameValid : Boolean = false
get(){
return name.isNotEmpty()
}
var isGenderValid : Boolean = false
get(){
return gender.equals("Male",true) || gender.equals("Female",true)
}
var isAgeValid : Boolean = false
get(){
return age >= 18 && age<=60
}
var isTelValid : Boolean = false
get(){
//TODO : validate telephone number
return true
}
var isEmailValid: Boolean = false
get(){
//TODO: validate email.
return true
}
}
您可以创建Worker 对象并将它们用作Worker 数组/列表的元素。
val workerA = Worker("A", "Male", 18, "123", "a@mail.com")
val workerB = Worker("B", "Female", 20, "122", "b@mail.com")
val workers: List<Worker> = listOf(workerA, workerB)
println(workers[0].isNameValid)
由于您的问题没有提供字段的验证规则,并且提供的表格并不明显,因此我将 getter 的实现留给您。检查下面链接的问题。
【讨论】: