in 操作符大概有两种使用场景
- for循环
for (i in 10..100){
println(i)
}
in操作符所作用的对象的条件:只要实现operator修饰的iterator方法(该iterator方法返回Iterator对象)或者实现Iterator接口即可
fun main(args: Array<String>) {
for (i in OperateIn()){
println(true)
}
for (i in OperateIn2()){
println(true)
}
}
class OperateIn:Iterator<String>{
override fun hasNext(): Boolean {
TODO()
}
override fun next(): String {
TODO()
}
}
class OperateIn2{
public operator fun iterator(): Iterator<String>{
TODO()
}
}
2.判断是否在区间中
if (1 in 10..11){
println(true)
}
in操作符所作用的对象的条件:只要实现operator修饰的contains方法即可
fun main(args: Array<String>) {
if (1 in OperateIn()){
println(true)
}
}
class OperateIn{
public operator fun contains(value: Int): Boolean = true
}
网友评论