kotlin学习笔记——重载操作符

来源:互联网 发布:c语言substring 编辑:程序博客网 时间:2024/05/21 08:43

Kotlin学习笔记系列:http://blog.csdn.net/column/details/16696.html


Kotlin中有很多操作符可以使用,具体可以见http://blog.csdn.net/chzphoenix/article/details/78094523 

Kotlin的一个特点就是可以重载这些操作符,为操作符赋予不同的行为。


1、重载操作符
在类中实现操作符对应的方法,如:
data class Book(var name: String, var sections: List<String>){     operator fun get(position: Int): String = sections[position]}
我们为book这个类实现了get方法,这样就可以直接使用[]操作符简化代码,如:
sectionTitle.text = book1[2]
代替了
sectionTitle.text = book1.sections[2]


2、扩展函数操作符
同样可以使用扩展函数来重载操作符,如:
data class Book(var name: String, var sections: List<String>)operator fun Book.get(position: Int): String = sections(position)var title1 = book1[1]


3、invoke
调用invoke时方法可以被省略,所以如果
class ClickAction{     operator fun invoke(...){          ...     }}
可以直接:
clickAction(...)
注意clickAction是类的一个对象

原创粉丝点击