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

  • 相关阅读:
    Git-更新数据
    iOS开发-基本的网络知识
    iOS开发-单例模式
    iOS开发-多线程知识
    iOS开发-核心动画随笔
    iOS开发-关于网络状态的判断
    毕业设计--天气预报App
    iOS开发-UIColor转UIIamge方法
    iOS开发-用预处理指令代替注释
    JMS 消息服务
  • 原文地址:https://www.cnblogs.com/fulong133/p/12357264.html
Copyright © 2011-2022 走看看