快速學(xué)習(xí)Kotlin(九)Kotlin中的特殊符號(hào)

Kotlin

反引號(hào)(鍵盤左上角和波浪線在一起的符號(hào)) ``

在Kotlin中可以用反引號(hào)解決關(guān)鍵字沖突的問(wèn)題,可以強(qiáng)行將一個(gè)不合法的字符變?yōu)楹戏ā?/p>

fun `123`(){
    println("this is message")
}

fun main(args: Array<String>) {
    `123`();
}

例如,我們?cè)诿粋€(gè)函數(shù)名稱的時(shí)候其實(shí)是不能用數(shù)字開(kāi)頭的,必須以字母或者下劃線開(kāi)頭然后后面再跟數(shù)字才行。但是如果非要用數(shù)字開(kāi)頭,這時(shí)候就必須使用反引號(hào)來(lái)引用起數(shù)字,之后便可以使用了。

當(dāng)然一般情況下我們也不允許函數(shù)這么被命名,那么這時(shí)候我們?cè)谀切┣闆r下會(huì)用到這種方式呢?

我們知道在Kotlin中有一個(gè)關(guān)鍵字internal,被這個(gè)關(guān)鍵字修飾的函數(shù)可以被同一個(gè)module中任何方法調(diào)用。但是在Java又沒(méi)有這個(gè)修飾符,而且Java和Kotlin是100%兼容的,那么這個(gè)時(shí)候Java在調(diào)用這個(gè)函數(shù)的時(shí)候會(huì)把他當(dāng)成public來(lái)處理,這顯然不是我們想要的。那么該如何讓一些函數(shù)不能被Java調(diào)用呢?這個(gè)時(shí)候就可以使用反引號(hào)來(lái)引用一些Java中沒(méi)有特殊方法來(lái)處理這個(gè)問(wèn)題。

Kotlin對(duì)象的比較

我們知道在Java中“ == ”用來(lái)比較這兩個(gè)對(duì)象是否完全相同,而用equals來(lái)比較這兩個(gè)對(duì)象值是否一致。

而在Kotlin中是不需要去調(diào)用equals方法的。其默認(rèn)“ == ”就是java中的equals方法,而“ === ”即為java中的“ == ”。

也就是說(shuō)在Kotlin中“ == ”比較的是兩個(gè)對(duì)象的值是否相同,而“===”比較的是兩個(gè)對(duì)象是否相同。

類型鏈接 public typealias

typealias可以將B類映射到A類上,從而這個(gè)A類便具有了B類的特性。

fun main(args: Array<String>) {
    var file:File = A("");
    file.isFile;

}

public typealias A = File;

看到我們將File這個(gè)類賦值給了A這個(gè)類,于是A便有了File的一切特性。我們?cè)趍ain函數(shù)中可以用A去實(shí)例化產(chǎn)生對(duì)象file,通過(guò)A實(shí)例化的對(duì)象file可以調(diào)用File的一切方法。這便是typealisa的作用。

其實(shí)在Kotlin中有非常多的類都是通過(guò)typealisa去映射Java類從而得來(lái)得。比如Kotlin中的HashMap就是通過(guò)映射java中的HashMap得來(lái)的。為什么會(huì)這么做呢?個(gè)人認(rèn)為,這么做的話以后對(duì)kotlin中的HashMap進(jìn)行優(yōu)化可以直接在kotlin中處理,就不需要去對(duì)Java中的HashMap進(jìn)行兼容了。

如果覺(jué)得我的文章能夠幫助到你,也歡迎關(guān)注我的微信公眾號(hào)「晨雨細(xì)曲」,有新技術(shù)和知識(shí)會(huì)推送在這上面。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 人生苦多,快來(lái) Kotlin ,快速學(xué)習(xí)Kotlin! 什么是Kotlin? Kotlin 是種靜態(tài)類型編程...
    任半生囂狂閱讀 26,692評(píng)論 9 118
  • 距離中考還有12天 在這之前我很不湊巧認(rèn)識(shí)了你 有過(guò)愛(ài)情有過(guò)歡笑有過(guò)失態(tài) 我們就像是天上的繁星 一直走在自己的軌跡...
    染情閱讀 314評(píng)論 1 3
  • 人人都說(shuō)農(nóng)村好,農(nóng)民勞作誰(shuí)知曉? 夏戰(zhàn)酷熱冬戰(zhàn)寒,辛勞一年病倒了。 人人都說(shuō)農(nóng)村好,農(nóng)民煩惱誰(shuí)知曉? 汗水換來(lái)大豐...
    林木成蔭閱讀 762評(píng)論 1 5
  • 每天早起每天學(xué)車 科三學(xué)到暈厥 本來(lái)想中午休息一會(huì)兒呢 時(shí)間完全不夠回來(lái)吃了飯就又去等車 早不早晚不晚 不過(guò)平時(shí)也...
    珍惜眼前始為真閱讀 334評(píng)論 0 0
  • 不在意現(xiàn)在的自己跟別人的能力差距有多大,不在意現(xiàn)在的自己跟別人的現(xiàn)實(shí)差距有多大,不在意現(xiàn)在的自己以前經(jīng)歷的都不去回...
    小羊羊的咪閱讀 249評(píng)論 0 0

友情鏈接更多精彩內(nèi)容