首页 > 解决方案 > Java:lambda 表达式连接多个字符串参数

问题描述

我需要一个 lambda 表达式,它接受多个String参数,将它们连接起来并将结果转换为大写。

我试着直接做:

(a, b, c, d, e, f, g, h) -> (a + b + c + d + e + f + g + h).toUpperCase();

但得到一个错误:

编译错误 Main.java:1:错误:不兼容的类型:lambda 表达式中的参数类型不兼容

如何在 Java 中使用 lambda 表达式实现字符串连接?

UPD:我正在解决一个问题

在此处输入图像描述

标签: javalambdajava-8

解决方案


需要创建功能接口

@FunctionalInterface
public interface Concat {
    String concat(String a, String b, String c, String d, String e, String f, String g, String h);
}

现在使用以下代码来创建一个 lambda

Concat concat =  (a, b, c, d, e, f, g, h) -> (a + b + c + d + e + f + g + h).toUpperCase();

推荐阅读