How to convert this code to java8 lambda

后端 未结 3 1786
暖寄归人
暖寄归人 2021-01-13 15:04

I\'ve just started working with Java 8 and I\'m struggling with this code snippet:

paramsValues[idx++] = new ReplyMessage() {
    @Override         


        
3条回答
  •  萌比男神i
    2021-01-13 15:08

    Lambda expressions are only possible with Functional Interfaces (Interfaces with only one method, such as Runnable or ActionEvent)

    If ReplyMessage is a functional interface, you can do:

    paramsValues[idx++] = reply -> message.reply(reply);
    

    Lambda expressions are formed in this pattern: parameters that the method should take, then -> then the method body

    Here is the code of how ReplyMessage interface should look like:

    @FunctionalInterface
    interface ReplyMessage {
        void reply(T jo);
    }
    

    For more information, consider reading this.

提交回复
热议问题