在正式介绍本文前,首先推荐十分钟基础入门-kotlin,基础简单入门教学2
扩展函数
在不修改某个对象的代码为前提,可以实现扩展函数供其他使用
例如,如果是想计算一长串字符串中数字的数目。在java中采用的方式是写一个静态工具方法类,参数为字符串String;返回的参数是一个int,具体的数值。
来,装个逼:针对上述需求,通过kotlin实现的
fun main() {
println("r3r13531rf2ef".countNum())
}
fun String.countNum() : Int{
var count = 0;
for( char in this){
if(char.isDigit()){
count++
}
}
return count
}
得到的结果:
运算符重载
常见的运算符有加减乘除。一般来说只有数值可以这样操作,而在kotlin中可以对对象进行运算。关键词operator
。
每一个运算符有固定的一个函数名,详细可见下图代码实现:
fun main() {
val money_50 = Money(50)
val money_20 = Money(20)
var result = money_50 - money_20
val gold = Gold()
var goldResult = money_20 + gold
println(result.value)
println(goldResult.value)
}
//在kotlin中运算符可以进行对象运算即加减乘除等等
class Money(val value: Int){
//进行money进行运算
operator fun minus(other: Money): Money{
val result = value - other.value
return Money(result)
}
//不限于对象本身可以是其他对象
operator fun plus(other: Gold): Money{
val result = value + other.value
return Money(result)
}
}
运行结果: