博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Kotlin--高阶函数
阅读量:7088 次
发布时间:2019-06-28

本文共 821 字,大约阅读时间需要 2 分钟。

fun main(args: Array) {

val alist = arrayListOf
(1,2,3,4)val blist = arrayListOf
("a","dd", "","e")alist.forEach { it -> println(it)}//这种写法是函数引用,要求类型一致alist.forEach(::println)val vistor=Vistor()val x = vistor::helloprintln(x("mike"))val a = "abc"a.isNotEmpty()复制代码

public inline fun Iterable.filter(predicate: (T) -> Boolean): List

{

return filterTo(ArrayList
(), predicate)复制代码

}

//filter需要一个参数, 这个参数是一个函数,函数的类型是 一个参数T,返回Boolean类型的函数//String::isNotEmpty隐含一个参数,就是调用实例对象的本身,真正调用的是 xx.isNotEmpty()blist.filter(String::isNotEmpty)val pdfPrinter = PdfPrinter()blist.forEach(pdfPrinter::printPdf)复制代码

}

class PdfPrinter(){ fun printPdf(any: Any){ println(any) } }

class Vistor { fun hello(name:String){ println("hello $name") } }

转载于:https://juejin.im/post/5b5c1ef85188251af121f802

你可能感兴趣的文章
ios 原生骨架动画库
查看>>
前端性能优化常用总结
查看>>
flutter安装开发环境-问题记录
查看>>
第十四课时: 登录/登出以及JWT认证
查看>>
渲染机制/页面性能/错误监控
查看>>
Dom中高big 事件总结(持续更新中)
查看>>
Immutable.js 源码解析 --List 类型
查看>>
【修真院“善良”系列之十六】代码结构中Dao,Service,Controller,Util,Model是什么意思,为什么划分...
查看>>
js数据结构-栈
查看>>
前端构建_webpack
查看>>
Looper源码
查看>>
微信小程序开发系列五:微信小程序中如何响应用户输入事件
查看>>
程序员如何优雅的记录笔记(同步云端,图床,多端发布)
查看>>
极速高清——给你带来全新的高清视野
查看>>
数据结构之链表【上】
查看>>
Go并发实战笔记整理
查看>>
奇葩问题
查看>>
使用 Laravel 5.5+ 更好的来实现 404 响应
查看>>
PHP 网络编程小白系列 —— Accept 阻塞模型
查看>>
流畅的python读书笔记-第十六章-携(协)程
查看>>