JAVA 中的 -> 是什么意思?

在《JAVA核心编程》中,有一段这样的代码
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.io.File;
  4. public class ImageViewer {
  5. public static void main(String[] args){
  6. EventQueue.invokeLater(() -> {
  7. JFrame frame = new ImageViewerFrame();
  8. frame.setTitle("ImageViewer");
  9. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  10. frame.setVisible(true);
  11. });
  12. }
  13. }
  14. class ImageViewerFrame extends JFrame{
  15. private JLabel label;
  16. private JFileChooser chooser;
  17. private static final int DEFAULT_WIDTH = 300;
  18. private static final int DEFAULT_HEIGHT = 400;
  19. public ImageViewerFrame(){
  20. setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
  21. label = new JLabel();
  22. add(label);
  23. chooser = new JFileChooser();
  24. chooser.setCurrentDirectory(new File("."));
  25. JMenuBar menuBar = new JMenuBar();
  26. setJMenuBar(menuBar);
  27. JMenu menu = new JMenu();
  28. menuBar.add(menu);
  29. JMenuItem openItem = new JMenuItem("open");
  30. menu.add(openItem);
  31. openItem.addActionListener(Event -> {
  32. int result = chooser.showOpenDialog(null);
  33. if (result == JFileChooser.APPROVE_OPTION){
  34. String name = chooser.getSelectedFile().getPath();
  35. label.setIcon(new ImageIcon(name));
  36. }
  37. });
  38. JMenuItem exitItem = new JMenuItem("exit");
  39. menu.add(exitItem);
  40. exitItem.addActionListener(Event -> System.exit(0));
  41. }
  42. }
可以看到两处这样的代码
  1. () -> {
  2. JFrame frame = new ImageViewerFrame();
  3. frame.setTitle("ImageViewer");
  4. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  5. frame.setVisible(true);
  6. }
  1. Event -> {
  2. int result = chooser.showOpenDialog(null);
  3. if (result == JFileChooser.APPROVE_OPTION){
  4. String name = chooser.getSelectedFile().getPath();
  5. label.setIcon(new ImageIcon(name));
  6. }
不知道 -> 这个符号是什么意思,百度了一下,也没有查到

评论

热门博文