java - 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:我正在解决一个问题:
解决方案
需要创建功能接口
@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();
推荐阅读
- html - 如何在不影响其他 div 元素位置的情况下覆盖 div
- java - 我无法使用休眠本地会话工厂对象更新特定行的“shop_table”表值?
- c# - 视频和aufio文件的实际时长
- node.js - AWS Custom Authorizer 不工作,返回请求超时
- python - 在python中使用re模块时,使用\S$匹配得到的结果会丢失字符串中的最后一个元素
- sql - SSIS · 如果条件满足则停止数据流
- java - 如何将已编译的 C 代码添加到 android studio 项目中?
- node.js - Add JS library to PATH in Dockerfile
- c# - 如何在 Content-Disposition 的文件名中添加“/”
- bash - 打印文件中未排序的字符串之间的差异