kotlin 语法糖?

唯品会那会,技术分享,正愁主题。刷圈看到老大分享的技术文章,关于kotlin的。猎奇之后,哎哟,挺好玩的。

庞然大物的转身往往缓而稳,所以,只是玩玩而已,一阵子过后,早已九霄云外。

三月,CTO面试问,对新技术有什么涉猎的。答kotlin。

五月,Google IO宣布kotlin 成为Android平台一级编程语言。

如今,从模块kotlin化到统一采用kotlin开发新项目,已经有三个项目了。算是有了一些实践。

诚然如大家说的,都是一些语法糖。但码码的速度实实在在的提升了。而且更重要的是,重新觉得码码是挺好玩的。

场景一:Java定义并初始化控件。

应该算是常见的写法。然而,一旦控件数量增多,会有各种 init(),懒起来时,全扔在 initViews()里。即使用上butterknife等注解。也避免不了因控件数量增多导致的初始化方法增多或者堆代码现象。

kotlin呢?

其实没什么区别。但会发现,不会有各种 init() 方法的出现或者往 initViews() 堆代码的现象。甚至提供的完整的理解 - smoothRefreshLayout 这个控件支持 上拉刷新&下拉加载更多。 或者说kotlin是完整的定义。而Java是不完整的,先定义,再设置,引用时最好还要判空,还不是懒加载。

场景二:Java Builder模式

代码不太规范,但也足以说明问题。Builder模式某种意义上说,就是通过链式调用组合各种属性。规范的Builder模式的代码量远不止如此。

kotlin呢?

apply{} 让 builder 模式没有存在的意义。也就不需要 return this 了。

场景三:Java CallBack接口

想回调下?走接口。简单的CallBack例子,便要如此大费周章。曾经多少个夜晚,默默码了一遍遍回调。

kotlin呢?

没错。就这样,将方法当参数传入直接调用。如此简单明了,不仅仅是语法糖的味道而已。实际应用没这么简单,比如接口里有各种回调方法。但方法作为参数对于Javaer 来说,简直是历史壮举了。

场景四:Java 嵌套类属性的调用(各种判空)

例子其实不极端,而是很频繁的现象。为了避免空指针,只能一层层的进行判空操作。

kotlin呢?

最后一句,酷炫得无话可说有没有?  港真,自从用上了kotlin,已经很少写 if (xxx != null) 这行代码了。

场景五:Java 多参数方法重载

常见现象之一,一个参数齐全的方法,通过重载与默认值,实现几个不同入参的方法。一个事儿,啰哩啰嗦一大堆,却又无法避免。还不清晰。想看真正的实现方法,时常需要通过 ctrl + click 不停的跟踪下去。

kotlin呢?

怎么也算是超过语法糖的范围了吧。简单明了,以不变应万变。一个字,老铁,稳。


夜已深,有点困。今晚就到这先

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 北京时间下午2点17分8秒一场空前的大阅兵正式开始首先进入眼眸的是大豆方阵整齐的步伐挺拔的雄姿一声:首长好行囊里的...
    君凉阅读 189评论 26 29
  • 导入方式 json的数据格式为:
    阿莱_1b6f阅读 3,215评论 0 1
  • ** 用于提醒自己,前方的路程遥远,还尚需努力 ** 前言 已经工作差不多两个年头了,恰逢最近离职,觉得有必要开始...
    xuezhijian阅读 210评论 0 0
  • 怕被剧透,所以观前没做任何准备。前三十分钟铺垫看的我简直犯困,只有半隐的酥胸昭示PG13的噱头。四十分钟起展开的诡...
    二睡阅读 392评论 0 0