作家
登录

在没有Kotlin的世界与Android共舞

作者: 来源: 2017-05-09 09:02:47 阅读 我要评论

  1. import lombok.Data; 
  2. import com.annimon.stream.Stream; 
  3. void foo(List<Person> persons) { 
  4.     Stream.of(persons) 
  5.           .filter(it -> it.getAge() >= 21) 
  6.           .filter(it -> it.getName().startsWith("P")) 
  7.           .map(Person::getName) 
  8.           .sorted() 
  9.           .forEach(System.out::println); 
  10. @Data class Person { 
  11.     final String name
  12.     final int age; 
  1. button.setOnClickListener(view -> System.out.println("Hello World!")); 

如何应用它们?就只用添加下面几行到你的 build.gradle 文件中。

  1. defaultConfig { 
  2.     jackOptions { 
  3.         enabled true 
  4.     } 
  5. compileOptions { 
  6.     sourceCompatibility JavaVersion.VERSION_1_8 
  7.     targetCompatibility JavaVersion.VERSION_1_8 

如不雅你不爱好用 Jack 编译器,或者你因为一些原因不克不及应用它,这里有一个不合的解决筹划供给给你。Retrolambda 项目许可你在 Java 7,6 或者 5 上运行带有 lambda 表达式的 Java 8 代码,下面是设置过程。

  1. dependencies { 
  2.     classpath 'me.tatarka:gradle-retrolambda:3.4.0' 
  3. apply plugin: 'me.tatarka.retrolambda' 
  4. compileOptions { 
  5.     sourceCompatibility JavaVersion.VERSION_1_8 
  6.     targetCompatibility JavaVersion.VERSION_1_8 

正如我前面提到的,在 Kotlin 下的 lambda 内联函数不增长办法计数,然则如安在 Jack 或者 Retrolambda 下应用它们呢? 显然,它们不是没成本的,隐蔽的成本如下。

该表展示了应用不合版本的 Retrolambda 和 Jack 编译器生成的办法数量。该比较结不雅来自 Jake Wharton 的“摸索 Java 的隐蔽成本” 技巧评论辩论之中。

数据操作

Kotlin 惹人了高阶函数作为流的替代。 当您必须将一组数据转换为另一组数据或过滤集应时,它们异常有效。

  1. void foo(List<Person> persons) { 
  2.     persons.stream() 
  3.            .filter(it -> it.getAge() >= 21) 
  4.            .filter(it -> it.getName().startsWith("P")) 
  5.            .map(Person::getName) 
  6.            .sorted() 
  7.            .forEach(System.out

      推荐阅读

      避免在云迁移过程中宕机

    在公共云迁徙时代,IT团队须要采取谨慎的步调,以避免听到“体系宕机”这种恐怖的提示。跟着组织迁徙到基于云计算的基本举措措施,IT团队须要在迁徙过程中保持可用性。然则,推>>>详细阅读


    本文标题:在没有Kotlin的世界与Android共舞

    地址:http://www.17bianji.com/lsqh/35085.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)