快速学习Kotlin(九)Kotlin中的特殊符号

Kotlin

反引号(键盘左上角和波浪线在一起的符号) ``

在Kotlin中可以用反引号解决关键字冲突的问题,可以强行将一个不合法的字符变为合法。

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

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

例如,我们在命名一个函数名称的时候其实是不能用数字开头的,必须以字母或者下划线开头然后后面再跟数字才行。但是如果非要用数字开头,这时候就必须使用反引号来引用起数字,之后便可以使用了。

当然一般情况下我们也不允许函数这么被命名,那么这时候我们在那些情况下会用到这种方式呢?

我们知道在Kotlin中有一个关键字internal,被这个关键字修饰的函数可以被同一个module中任何方法调用。但是在Java又没有这个修饰符,而且Java和Kotlin是100%兼容的,那么这个时候Java在调用这个函数的时候会把他当成public来处理,这显然不是我们想要的。那么该如何让一些函数不能被Java调用呢?这个时候就可以使用反引号来引用一些Java中没有特殊方法来处理这个问题。

Kotlin对象的比较

我们知道在Java中“ == ”用来比较这两个对象是否完全相同,而用equals来比较这两个对象值是否一致。

而在Kotlin中是不需要去调用equals方法的。其默认“ == ”就是java中的equals方法,而“ === ”即为java中的“ == ”。

也就是说在Kotlin中“ == ”比较的是两个对象的值是否相同,而“===”比较的是两个对象是否相同。

类型链接 public typealias

typealias可以将B类映射到A类上,从而这个A类便具有了B类的特性。

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

}

public typealias A = File;

看到我们将File这个类赋值给了A这个类,于是A便有了File的一切特性。我们在main函数中可以用A去实例化产生对象file,通过A实例化的对象file可以调用File的一切方法。这便是typealisa的作用。

其实在Kotlin中有非常多的类都是通过typealisa去映射Java类从而得来得。比如Kotlin中的HashMap就是通过映射java中的HashMap得来的。为什么会这么做呢?个人认为,这么做的话以后对kotlin中的HashMap进行优化可以直接在kotlin中处理,就不需要去对Java中的HashMap进行兼容了。

如果觉得我的文章能够帮助到你,也欢迎关注我的微信公众号「晨雨细曲」,有新技术和知识会推送在这上面。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,616评论 9 118
  • 距离中考还有12天 在这之前我很不凑巧认识了你 有过爱情有过欢笑有过失态 我们就像是天上的繁星 一直走在自己的轨迹...
    染情阅读 309评论 1 3
  • 人人都说农村好,农民劳作谁知晓? 夏战酷热冬战寒,辛劳一年病倒了。 人人都说农村好,农民烦恼谁知晓? 汗水换来大丰...
    林木成荫阅读 755评论 1 5
  • 每天早起每天学车 科三学到晕厥 本来想中午休息一会儿呢 时间完全不够回来吃了饭就又去等车 早不早晚不晚 不过平时也...
    珍惜眼前始为真阅读 321评论 0 0
  • 不在意现在的自己跟别人的能力差距有多大,不在意现在的自己跟别人的现实差距有多大,不在意现在的自己以前经历的都不去回...
    小羊羊的咪阅读 247评论 0 0

友情链接更多精彩内容