快速学习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进行兼容了。

 

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

 

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值