当前位置: 首页 > 面试题库 >

如何将此代码转换为Java8 Lambda

曹浩淼
2023-03-14
问题内容

我刚刚开始使用Java 8,并且正在使用以下代码片段:

paramsValues[idx++] = new ReplyMessage<JsonObject>() {
    @Override
    public void reply(JsonObject reply) {
        message.reply(reply);
    }
};

如何将其转换为Lambda样式?


问题答案:

如果ReplyMessage功能界面 ,则可以

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

这是您问题中其他类的存根实现的完整示例:

// Stub classes
class JsonObject { }

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

class LambdaDemo {
    public static void main(String args[]) {

        // Dummy variables
        ReplyMessage<JsonObject> message = new ReplyMessage<JsonObject>() {
            public void reply(JsonObject jo) {}
        };
        ReplyMessage[] paramsValues = new ReplyMessage[5];
        int idx = 0;

        // Your code, lambdafied
        paramsValues[idx++] = reply -> message.reply(reply);

        // Or,
        // paramsValues[idx++] = message::reply;

        // But then you could perhaps do with just ...
        // paramsValues[idx++] = message;
    }
}


 类似资料:
  • 问题内容: 我正在将Java库移植到C#。我使用的是Visual Studio 2008,因此没有停止使用的Microsoft Java语言转换助手程序(JLCA)。 我的方法是创建一个与Java库具有类似项目结构的新解决方案,然后将Java代码复制到ac#文件中,并将其逐行转换为有效的c#。考虑到我觉得Java易于阅读,两种语言之间的细微差别使我感到惊讶。 有些事情很容易移植(命名空间,继承等)

  • 我目前正在python中使用Google Vision API检测图像中的汉字,但我发现Google将返回python源代码(如\XE7\X80\X86\XE7\XAB\X91),而不是一些人类可读字符串。 我如何将它转换成utf-8格式的人类可读文本? Requests.Exceptions.ConnectionError除外:打印(“Request Error”) 谢谢你

  • 问题内容: 好的,所以我有一个来自EEG扫描的数据文件(一个二进制文件,data.eeg),在matlab中,用于读取文件并绘制部分数据的代码如下所示: 这是我的“翻译”尝试 这就是让我感到困惑的地方。根据文档,matlab的fread是一种通过fread(loaded_file,size,data_type)读取二进制文件的方法。python中的替代方法是使用numpy的fromfile并使用内

  • @Bean public WebMvcEndpoint HandlerMap webEndpoint ServletHandlerMap(WebEndpoint供应商webEndpoint供应商,ServletEndpoint供应商servletEndpoint供应商,控制器Endpoint供应商控制器Endpoint供应商,Endpoint MediaTypes endpoint MediaTy

  • 问题内容: 我有一个用Scala编写的应用程序,我的一些团队成员希望使用Java版本。这是一个演示应用程序,可以使用用Scala编写的另一个API,并且他们希望该应用程序的Java版本能够使用Java中的API。但是,该应用程序有些大,我不想用Java手动重排代码(他们也不想学习Scala)。是否有任何工具可以从Scala代码自动生成(可读)Java代码? 问题答案: 他们希望应用程序的Java版

  • 问题内容: Web服务团队为我提供了此C#代码,该代码公开了一些我计划使用的Web服务。我的密码需要使用此代码进行加密,以便Web服务知道如何在其末尾对其进行解密。 我正在使用Java来使用此Web服务,现在,在将#C代码转换为Java代码时遇到问题,因为该Web服务无法正确解密我的密码。 这是我目前的失败尝试: 我做错什么了?非常感谢。 2013-08-07-更新 我在阅读此网站时,意识到我的模