• 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

  • 相关阅读:
    Java基础—ArrayList源码浅析
    Java基础——类加载机制
    Java基础——常用类之日期时间类
    Java基础——反射
    栈队列例题3:使用两个栈实现一个队列
    栈队列例题2:SetOfStack放盘子
    栈队列例题1:设置带最小值的栈
    链表例题6:检查链表中的数据是否回文
    队列的实现
    栈的实现
  • 原文地址:https://www.cnblogs.com/fulong133/p/12357264.html
Copyright © 2020-2023  润新知