码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2019-01-24 22:57:21      阅读:328      评论:0      收藏:0      [点我收藏+]

标签:就是   描述   var   参数   blog   ack   编译   字符串比较   base   

空值处理:

【案例一:】

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)
}

执行结果:

技术分享图片

 

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

标签:就是   描述   var   参数   blog   ack   编译   字符串比较   base   

原文地址:https://www.cnblogs.com/android-deli/p/10317256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!