【问题标题】:Kotlin - How to store a table with 4D data by using collection/data classKotlin - 如何使用集合/数据类存储具有 4D 数据的表
【发布时间】:2021-02-09 07:54:55
【问题描述】:

是否有任何 Kotlin 集合/数据类能够存储如下所示的表数据? 我只能弄清楚存储项目和价值的方式如下:

var WorkA = mapOf{"Name" to "AA", "Gender" to "Female"}...

但我不知道如何链接“验证结果”。

请给我一些建议,因为我是新手。谢谢。

【问题讨论】:

    标签: android kotlin collections


    【解决方案1】:

    我将创建一个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 的实现留给您。检查下面链接的问题。

    How should I validate an e-mail address?

    Email and phone Number Validation in android

    【讨论】:

      猜你喜欢
      • 2021-03-06
      • 1970-01-01
      • 2019-09-03
      • 2012-09-04
      • 1970-01-01
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      相关资源
      最近更新 更多