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

執行結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM