Expresión lambda: use Jframe para demostrar la simplicidad del código con y sin lambda
Introducción
En java8 se ha introducido una característica muy importante. Se trata de las expresiones Lambda, que pueden hacer nuestro código más conciso y legible. Permite utilizar funciones como parámetros. Es una idea funcional orientada a la programación. Hasta cierto punto, puede hacer que el código parezca más conciso.
Pero la desventaja es que los programadores de Java generalmente usan el pensamiento orientado a objetos para la programación.En cierto sentido, Lambda no se ajusta a la forma de pensar orientada a objetos.
texto
Use Jfame como ejemplo para demostrar el código cuando el botón JButton escucha eventos, comparando la simplicidad de usar lambda y no usar lambda
package com.moonl.jvm.jframe;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Jframe extends JFrame {
public Jframe() {
this.setBounds(400, 400, 450, 450);
this.setTitle("lambda test");
this.setVisible(true);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
JPanel jPanel = new JPanel();
jPanel.setBounds(400,400,0,0);
this.add(jPanel);
//
jPanel.add(_createButton("偷袭", "大意了"));
jPanel.add(_createButtonLambda("我没有闪", "年轻人不讲武德"));
}
/**
* 按钮控件监听
* @param name
* @param msg
* @return
*/
public JButton _createButton(String name, String msg) {
JButton jb = new JButton(name);
jb.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(msg);
}
});
return jb;
}
/**
* 按钮控件使用lambda监听
* @param name
* @param msg
* @return
*/
public JButton _createButtonLambda(String name, String msg) {
JButton jb = new JButton(name);
jb.addActionListener(event -> System.out.println(msg));
return jb;
}
public static void main(String[] args) {
new Jframe();
}
}
El código se ha publicado y puede ver que el formato de sintaxis de lambda es mucho más conciso para el código legible.
Ahora echamos un vistazo al efecto de la operación:
Ahora, hacemos clic en los dos botones por separado,
ahora podemos ver que los eventos de escucha de los dos botones han impreso el mensaje que queremos.
El efecto es el mismo.
posdata
Estimados estudiantes que han leído este artículo, en el proceso de desarrollo real, ¿qué método usarían para escribir código?
¿Consideraría intentar usar la sintaxis lambda?