jdk8 lambda表达式语法(->) 和jdk7的比较

不管现实多么惨不忍睹,都要持之以恒地相信,这只是黎明前短暂的黑暗而已。不要惶恐眼前的难关迈不过去,不要担心此刻的付出没有回报,别再花时间等待天降好运。真诚做人,努力做事!你想要的,岁月都会给你。jdk8 lambda表达式语法(->) 和jdk7的比较,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

Lambda初体验

下面进入本文的正题–lambda表达式。首先我们看一下什么是lambda表达式。以下是维基百科上对于”Lambda expression”的解释:

 a function (or a subroutine) defined, and possibly called, without being bound to an identifier。

简单点说就是:一个不用被绑定到一个标识符上,并且可能被调用的函数。这个解释还不够通俗,lambda表达式可以这样定义:一段带有输入参数的可执行语句块。先来看看jdk7和jdk8 lambda的表达式的不同实现:

1. 例子1

jdk8 lambda表达式:

<pre name="code" class="java">List<String> names = new ArrayList<>();
Collections.sort(names, (o1, o2) -> o1.compareTo(o2));

or

<pre name="code" class="java" style="color: rgb(102, 102, 102); font-size: 14px; line-height: 15.4px;">names<span style="line-height: 15.4px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">.sort((o1, o2) -> o1.compareTo(o2));</span>

 

 

 

 

 
jdk7:
 

List<String> names = <span style="line-height: 15.4px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">new ArrayList<>();</span>

Collections.sort(names, new Comparator<String>() {
  @Override
  public int compare(String o1, String o2) {

    return o1.compareTo(o2);

  }

});

or 
<pre name="code" class="html" style="color: rgb(102, 102, 102); font-size: 14px; line-height: 15.4px;"><pre name="code" class="html" style="color: rgb(102, 102, 102); font-size: 14px; line-height: 15.4px;">names<span style="line-height: 15.4px; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace;">.sort(new Comparator<String>() {</span>

@Override public int compare(String o1, String o2) { return o1.compareTo(o2); }});

 

 

 




上面两段代码分别是:使用jdk8 lambda表达式(->)来排序和使用jdk7匿名内部类来排序。

 
2.例子2
 
jdk8 lambda表达式:
    btn.setOnAction(         event -> System.out.println("Hello World!")     );  

 

jdk7:
   btn.setOnAction(new EventHandler<ActionEvent>() {         @Override        public void handle(ActionEvent event) {             System.out.println("Hello World!");         }     }); 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/164242.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!