zoukankan      html  css  js  c++  java
  • java 8 新增特性之 lambda表达式

    () -> {
    JFrame frame = new ImageViewerFrame();
    frame.setTitle("ImageViewer");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);

    }
    Event -> {
    int result = chooser.showOpenDialog(null);

    if (result == JFileChooser.APPROVE_OPTION){
    String name = chooser.getSelectedFile().getPath();
    label.setIcon(new ImageIcon(name));

    }

    我们在看Java核心编程时候遇到这代码,那么->是什么意思呢

    ->是lambda表达式,就是匿名函数。

    上面两段代码可以理解为:


    EventQueue.invokeLater(new Runnable() {
    public void run() {
    JFrame frame = new ImageViewerFrame();
    frame.setTitle("ImageViewer");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    }
    });

    openItem.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    int result = chooser.showOpenDialog(null);

    if (result == JFileChooser.APPROVE_OPTION){
    String name = chooser.getSelectedFile().getPath();
    label.setIcon(new ImageIcon(name));
    }
    }
    });
    这是Java8里新加入的特性lambda表达式,相当于无名称的函数,
    最简单的例子是 Collections.sort(list, (x, y) -> y - x); 其中

    (x, y) -> y - x

    是一个lambda表达式,输入两个参数x, y,返回值 y-  x。“->”起分隔作用。,Java会自动翻译

    原文链接:https://blog.csdn.net/qq_38078822/article/details/80836539

  • 相关阅读:
    内网邮件服务器搭建
    solr的命令
    solr的post.jar
    Java IO(四--字符流基本使用
    Java IO(三)--字节流基本使用
    Java IO(二)--RandomAccessFile基本使用
    Java集合(三)--Collection、Collections和Arrays
    Java集合(二)--Iterator和Iterable
    Java IO(一)--File类
    Java基础(十四)--装箱、拆箱详解
  • 原文地址:https://www.cnblogs.com/fulong133/p/12357264.html
Copyright © 2011-2022 走看看