Java:lambda表达式连接多个字符串参数

Java:lambda表达式连接多个字符串参数,java,lambda,java-8,Java,Lambda,Java 8,我需要得到一个lambda表达式,它接受几个字符串参数,将它们连接起来,并将结果转换为大写 我试图直接做到: (a, b, c, d, e, f, g, h) -> (a + b + c + d + e + f + g + h).toUpperCase(); 但得到了一个错误: 编译错误Main.java:1:错误:不兼容类型:不兼容 lambda表达式中的参数类型 如何在Java中使用lambda表达式实现字符串连接 UPD:我正在解决一个问题: 需要创建一个功能接口 @Functio

我需要得到一个lambda表达式,它接受几个字符串参数,将它们连接起来,并将结果转换为大写

我试图直接做到:

(a, b, c, d, e, f, g, h) -> (a + b + c + d + e + f + g + h).toUpperCase();
但得到了一个错误:

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

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

UPD:我正在解决一个问题:


需要创建一个功能接口

@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();

startpost中的代码正常-我使用了八个参数而不是七个参数,这是我的错误。

这个lambda出现在什么上下文中?您是否将该lambda表达式分配给具有八个参数的方法的函数接口?它看起来非常像一个收集器作业。。。我在看你们这些收藏家他们要求七个论点而你们有八个。。。现在,我们不知道测试代码是如何工作的,我正在解决这个问题。我在startpost中添加了一个问题的屏幕截图。