Expression Lambda: utilisez Jframe pour démontrer la simplicité du code avec et sans lambda

Expression Lambda: utilisez Jframe pour démontrer la simplicité du code avec et sans lambda

introduction

En java8, une fonctionnalité très importante a été introduite. Il s'agit des expressions Lambda, qui peuvent rendre notre code plus concis et plus lisible. Cela permet d'utiliser des fonctions comme paramètres. C'est une idée fonctionnelle orientée vers la programmation. Dans une certaine mesure, elle peut rendre le code plus concis.
Mais l'inconvénient est que les programmeurs Java utilisent généralement la pensée orientée objet pour la programmation. En un sens, Lambda ne correspond pas à la manière de penser orientée objet.

texte

Utilisez Jfame comme exemple pour illustrer le code lorsque le bouton JButton écoute les événements, en comparant la simplicité d'utilisation de lambda et de ne pas utiliser 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();
    }
}

Le code a été posté, et vous pouvez voir que le format de syntaxe de lambda est en effet beaucoup plus concis pour un code lisible.
Maintenant, nous examinons l'effet de l'opération:

Le programme s'exécute
Maintenant, nous cliquons sur les deux boutons séparément,
Sortie d'effet
maintenant nous pouvons voir que les événements d'écoute des deux boutons ont imprimé le msg que nous voulons.
L'effet est le même.

post-scriptum

Chers étudiants qui ont lu cet article, dans le processus de développement réel, quelle méthode utiliseriez-vous pour écrire du code?
Envisageriez-vous d'essayer d'utiliser la syntaxe lambda?

Je suppose que tu aimes

Origine blog.csdn.net/liaoyue11/article/details/110955671
conseillé
Classement