• Android-Kotlin-空值处理&字符串比较&常量


    空值处理:

    【案例一:】

    1.Kotlin对控制处理很严格,默认就不能写null,否则编译都不通过:

    描述Car汽车对象:

    package cn.kotlin.kotlin_base01
    
    /**
     * 描述Car汽车对象
     *
     * 参数一: 车名, 参数二: 车的价值
     */
    class Car (var carName:String, var carMoney: Double) {
    
        /**
         * 得到车的信息
         */
        fun getCarInfo() : String {
            return "这台车叫${carName},价值${carMoney}元人民币"
        }
    
    }

    main测试方法:

    默认是不能赋值为null的:

    变量默认也不能赋值为null的: 

      


    以上案例体现了:Kotlin对控制处理很严格,默认就不能写null,否则编译都不通过

    Kotlin但也提供了 可以赋值null的方式,那就是给 变量加? ,例如:var name : String ? = null      加入? 意思是:允许传null

    【案例二】

    package cn.kotlin.kotlin_base01
    
    /**
     * 描述Car汽车对象
     *
     * 参数一: 车名, 参数二: 车的价值
     * 加入? 意思是:允许传null
     */
    class Car (var carName:String ?, var carMoney: Double) {
    
        /**
         * 得到车的信息
         */
        fun getCarInfo() : String {
            return "这台车叫${carName},价值${carMoney}元人民币"
        }
    
    }

    main测试方法:

    package cn.kotlin.kotlin_base01
    
    fun main(args: Array<String>) {
    
        // 实例化保时捷对象
        var car1 : Car = Car("保时捷AXT系", 1000000.00)
        println(car1.getCarInfo())
    
        // 实例化对象
        var car2 : Car = Car(null, 65354.00)
        println(car2.getCarInfo())
    
        // 定义String类型的变量 加入? 意思是:允许传null
        var str : String ? = null
        println("str:${str}")
    }

    执行结果:




    字符串比较:

    string1.equals(string2) 等同于string1 == string2, 所以在Kotlin中的==是比较值本身,  而Java是[Java中 == 比较的是内存地址]

    package cn.kotlin.kotlin_base01
    
    /**
     * 字符串比较
     */
    fun main(args: Array<String>) {
    
        var string1 : String = "ABC"
    
        var string2 : String = "ABC"
    
        // 打印true,因为在Kotlin中 == 比较的是值本身,  [Java中 == 比较的是内存地址]
        println(string1 == string2)
    
        // 打印true,因为 equals 比较的也是值本身
        // 所以string1.equals(string2) 等同于string1 == string2
        println(string1.equals(string2))
    
    }

    执行结果:




    常量:

    val 是常量

    var 是变量

    被val修饰的,其他地方不能修改,否则编译不通过:

    package cn.kotlin.kotlin_base01
    
    /**
     * 常量
     */
    fun main(args: Array<String>) {
    
        // 定义我的博客地址是固定的,不准修改了[常量]
        val cnblogs: String = "https://www.cnblogs.com/android-deli/"
    
        println(cnblogs)
    }

    执行结果:

  • 相关阅读:
    生活中总结出来的各种定律
    python中os.system()的返回值
    使用ldap登录服务器
    使用VirtualBox + Vagrant打造统一的开发环境
    Laravel 虚拟开发环境 Homestead
    win7 powershell版本过低问题
    Vagrant安装教程及常见问题
    vagrant up提示“Couldn‘t open file /path/to/base“的错误解决方法
    一起谈.NET技术,ASP.NET MVC的全球化方案 狼人:
    一起谈.NET技术,.Net4.0 Parallel编程(二)Data Parallelism 中 狼人:
  • 原文地址:https://www.cnblogs.com/android-deli/p/10317256.html
Copyright © 2020-2023  润新知