java lambda 可以有超过 1 个参数吗?

2024-02-26

在 Java 中,是否可以让 lambda 接受多种不同类型?

IE: 单变量工作原理:

    Function <Integer, Integer> adder = i -> i + 1;
    System.out.println (adder.apply (10));

Varargs 也可以工作:

    Function <Integer [], Integer> multiAdder = ints -> {
        int sum = 0;
        for (Integer i : ints) {
            sum += i;
        }
        return sum;
    };

    //.... 
    System.out.println ((multiAdder.apply (new Integer [] { 1, 2, 3, 4 })));

但我想要一些可以接受许多不同类型参数的东西,例如:

    Function <String, Integer, Double, Person, String> myLambda = a , b, c, d->  {
    [DO STUFF]
    return "done stuff"
    };

主要用途是在函数内部添加小的内联函数以方便使用。

我查遍了谷歌并检查了Java的功能包,但找不到。这可能吗?


如果您定义这样一个具有多个类型参数的函数接口,这是可能的。没有这样的内置类型。 (有一些具有多个参数的有限类型。)

@FunctionalInterface
interface Function6<One, Two, Three, Four, Five, Six> {
    public Six apply(One one, Two two, Three three, Four four, Five five);
}

public static void main(String[] args) throws Exception {
    Function6<String, Integer, Double, Void, List<Float>, Character> func = (a, b, c, d, e) -> 'z';
}

我已经这样称呼它了Function6这里。该名称由您自行决定,只要尽量不要与 Java 库中的现有名称冲突即可。


如果您要问的是,也无法定义可变数量的类型参数。


有些语言,如 Scala,定义了许多内置的此类类型,具有 1、2、3、4、5、6 等类型参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java lambda 可以有超过 1 个参数吗? 的相关文章

随机推荐

  • 在 Rails 5 中将类添加到 bootstrap_form_for collection_select

    我使用 bootstrap form for 创建表单并选择一个集合 我想在其中添加自定义类 我尝试过这个 但这不起作用 有任何想法吗 许多 Rails 助手采用多个哈希参数 这个collection select方法的定义如下 colle
  • Java ClassCastException 具有不同包中的两个相同的类,通过网络发送

    我遇到以下问题 我的项目由两个包 客户端和服务器 组成 其中每个包都有类Package 现在我想通过网络发送这个类ObjectOutputStream ObjectInputStream像这样 Client this is in packa
  • new() 在 `where T: new()?` 中做什么?

    下面代码中的 new 做了什么 public class A
  • 构建 REST API 的在线文档

    我正在构建我的第一个 Rest API 它将数据序列化为 JSON 和 XML 格式 我想向 API 客户端提供一个索引页面 他们可以在其中选择已实现的端点 我需要包含哪些信息才能使我的 API 最有用 我应该如何组织它 这是一个非常复杂的
  • 如何通过 ID 检查 WooCommerce 订单的付款方式?

    如果选择的付款方式是货到付款 我想进行一些更改 在我使用过的现有 WC Order 上 order gt payment method title Cash On Delivery 检索标题 但我想检查 id cod 因为标题字符串被翻译成
  • 类数据成员的初始化顺序

    在下面的代码中 当 ctor 为X被称为意志的演员A or B被先叫 它们在类主体中的放置顺序是否控制这一点 如果有人可以提供一段来自 C 标准的文本片段来讨论这个问题 那就完美了 class A class B class X A a B
  • Typescript 中的全局类型

    有没有办法在打字稿文件中创建一个定义全局可访问类型的文件 我喜欢打字稿 但发现当我想要真正类型安全时 我必须从整个系统显式导入类型 这是相当烦人的 是的 这是可能的 您可以在这里找到所有信息 https www typescriptlang
  • 将js对象键名称中的点替换为下划线

    我需要遍历 js 对象并将该对象键中的所有点替换为下划线 例如 a a test to a a test 这是我的代码 Object getOwnPropertyNames match forEach function val idx ar
  • 当虚拟对象具有指定长度时传递字符串作为参数

    如果我有这个代码 module test contains subroutine xx name character len 20 intent in optional name if present name then print nam
  • 规范的 xpath 问题?

    如果将单个点转换为自我 节点 在 xpath 中 Source http msdn microsoft com en us library aa546839 28v bts 70 29 aspx 那么为什么这会起作用
  • 规范化 URL 去掉尾部斜杠

    实施Location normalize在 Angular 2 中 从 URL 中去除尾部斜杠 文档 https angular io docs ts latest api common index Location class html
  • 如何向 Qml 公开用于计算的 C++ 结构

    我有以下问题 我正在 C 中开发一个模型 在 Qml 中开发一个视图 通过控制器连接它们 在我的模型中 我执行了多项计算 我还为我的应用程序的用户提供了编写用 qml 编写的自定义事件处理程序的可能性 现在我遇到了一个问题 我决定使用定点表
  • 充当具有多个模型的树

    我有几个模型想要按层次结构关联在一起 为了简单起见 假设我有这三个 class Group lt ActiveRecord Base acts as tree has many users end class User lt ActiveR
  • T-SQL 美元符号表达式

    In 这个答案 https stackoverflow com a 7213596 3345644 有一个技巧可以使用ROW NUMBER 窗口函数中带有 常量 ORDER BY clause SELECT ROW NUMBER OVER
  • 为什么将数据导出到 .xlsx 比导出到 .xls 或 .csv 慢得多?

    我有一个要导出到 Excel 的数据框 人们希望它是 xlsx 格式 我用to excel 但是当我将扩展名从 xls 更改为 xlsx 时 导出步骤大约需要 9 秒 而不是 1 秒 导出到 csv 甚至更快 我相信这是因为它只是一个特殊格
  • 每次我在同一语料库上训练时,LDA 模型都会生成不同的主题

    我正在使用Pythongensim从包含 231 个句子的小语料库中训练潜在狄利克雷分配 LDA 模型 然而 每次我重复这个过程 它都会产生不同的主题 为什么相同的LDA参数和语料每次生成不同的主题 如何稳定话题生成 我正在使用这个语料库
  • ggplot2,更改标题大小

    我希望我的主标题和轴标题具有与图中注释文本相同的字体大小 我使用 theme get 并发现文本大小为 12 所以我在主题声明中这样做了 这不起作用 我也尝试将相对大小发送为1 但这不起作用 I was hoping someone cou
  • 更改maven Surefire-plugin的输出目录

    我正在尝试更改 Maven 项目中的surefire plugin 生成的XML 文件的输出文件夹 我在report plugin的配置括号内以及maven site plugin中声明了目标输出文件夹 在文档 https maven ap
  • 单击 iOS 证书续订时出错

    当我使用管理器并单击 续订 按钮时 出现以下错误 特别 此团队中没有带有 XP 的 iOS 证书 App Store 没有为参数 deviceids 提供值 我不确定为什么会收到这些错误 并且希望得到任何帮助 指导 我遇到了同样的问题 我什
  • java lambda 可以有超过 1 个参数吗?

    在 Java 中 是否可以让 lambda 接受多种不同类型 IE 单变量工作原理 Function