Java 如何将此代码转换为我更熟悉的更简单的代码?

Java 如何将此代码转换为我更熟悉的更简单的代码?,java,events,mouseevent,actionevent,Java,Events,Mouseevent,Actionevent,我现在是Java的第一年,在互联网上偶然发现了关于战舰游戏的代码。我想做的是用更简单的代码来理解这段代码。让我困惑的是第一行:“computerGameBoard=new GameBoard(true,event->”。我熟悉按钮以及它们如何具有动作事件,但此代码与此代码相比如何,是否可以将其转换为与按钮类似的动作事件?我可以将其拆分为另一种方法吗?提前感谢。还要注意,下面的代码行应附加到代码段,但不是 computerGameBoard = new GameBoard(true, ev

我现在是Java的第一年,在互联网上偶然发现了关于战舰游戏的代码。我想做的是用更简单的代码来理解这段代码。让我困惑的是第一行:“computerGameBoard=new GameBoard(true,event->”。我熟悉按钮以及它们如何具有动作事件,但此代码与此代码相比如何,是否可以将其转换为与按钮类似的动作事件?我可以将其拆分为另一种方法吗?提前感谢。还要注意,下面的代码行应附加到代码段,但不是

    computerGameBoard = new GameBoard(true, event ->
    {
        if (!playing)
            return;

        BoardSquare boardsquare = (BoardSquare) event.getSource();
        if (boardsquare.wasHit)
            return;

        AIMove = !boardsquare.fire();
         System.out.println("enemyBoard shipcount:"+computerGameBoard.shipcount);
        if (computerGameBoard.shipcount == 0) {
            System.out.println("Winner!");

        }

        if (AIMove)
            AI1();
    });

不带lambda的onClickListener()示例:

mButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // do something here
    }
});
可以使用lambda重写:

mButton.setOnClickListener((View v) -> {
    // do something here
});

因此,您的代码使用的是Lambda表达式(Java 8特性)

没有Lambda的onClickListener()示例:

mButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // do something here
    }
});
可以使用lambda重写:

mButton.setOnClickListener((View v) -> {
    // do something here
});

因此,您的代码使用Lambda表达式(Java8特性)

这似乎更像是一个代码审查的问题。这听起来主要是一个关于lambda及其工作原理的问题——它实际上与传统的动作侦听器没有什么不同,它只是使用lambda来实现它们。请不要破坏您的帖子。如果您不想要它,您可以使用“联系我们”页面来询问它与您的帐户分离。这似乎更像是一个代码审查的问题。这听起来主要像是一个关于lambda及其工作原理的问题——它实际上与传统的动作侦听器没有什么不同,它只是使用lambda来实现它们。请不要破坏您的帖子。如果您不想要它,您可以使用contact us页面要求将其与您的帐户分离。