六、扩展函数和运算符重载

一、扩展函数

扩展函数指在不修改某个类的源码的情况下,仍然可以打开该类并向其中添加新的函数。

语法结构

fun ClassName.methodName(param1:Int , param2:Int): Int{
    return 0
}

比如在String类库中添加一个新的函数doAction1,只需要创建按照以上的方式创建( fun String.doAction1(){} ,然后使用时就可以直接对字符串调用doAction1方法。

fun String.letterCount():Int{
    var count = 0
    for(char in this){
        if(char.isLetter()){
            count++
        }
    }
    
    return count
}

fun main(){
    
    val name = "Frank malo"
    
   println(name.letterCount())
    
}

注意:不光是String类库,你可以向Kotlin的其他任何类库中添加扩展函数。

二、运算符重载

Kotlin运算符重载就是赋予运算符新的使用意义。在指定函数前面加上 operator关键字 就可以实现运算符重载。不同运算符所指定的重载函数不同。

重载函数对照表

语法糖表达式 重载函数 a + b a.plus(b) a-b a.minus(b) a*b a.times(b) a / b a.div(b) a%b a.rem(b) a++ a.inc() a-- a.dec() +a a.unaryPlus() -a a.unaryMinus() !a a.not() a==b a.equals(b) a>b a.compareTo(b) a..b a.rangeTo(b) a[b] a.get(b) a[b]=c a.set(b,c) a in b b contains(a)

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值