Чем лямба-выражения лучше анонимных классов?
Даже не уходя глубоко в дебри, очевидно, что лямбда компактнееsomeButton.addActionListener(e -> JOptionPane.showMessageDialog(this, "Hello!"));
чем анонимный классsomeButton.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {
      JOptionPane.showMessageDialog(this, "Hello!")
  }
});
Краткостью они лучше.