Stream-Query Stream-Query
首页
  • 项目初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • core模块

    • Opp
    • Sf
    • Map
    • Steam
    • TreeHelper
    • HighlightHelper
    • ReflectHelper
    • BeanHelper
  • plugin模块

    • Database
    • One
    • Many
    • OneToOne
    • OneToMany
  • 安装

    • 通过Maven安装
    • 通过Gradle安装
    • 下载jar安装
    • 通过源码编译
  • 动态mapper

    • 指定package
    • 指定注解
    • 指定接口
    • 指定实体类
  • 团队成员
  • dromara
  • 社区周边
  • 成为开发成员
  • 项目问题

    • 最新版本依赖下载失败
    • 项目编译报错
    • 如何贡献代码
    • 如何贡献文档
    • 使用本项目需要的前置知识
  • 其他问题

    • 作者是在全职维护开源吗
    • 你们这是个什么团队啊
    • 和其他类似的开源项目有什么区别
赞助
  • 1-5-0-alpha
  • 1-6-0-alpha
  • 1-7-0-alpha
  • 1-8-0
  • 1-9-0
  • 1-9-1
  • 2.0.0-alpha+001
  • 2.0.0-alpha+002
  • 2.0.2
Source (opens new window)
首页
  • 项目初衷与诞生
  • 介绍
  • 快速上手
  • 目录结构
  • core模块

    • Opp
    • Sf
    • Map
    • Steam
    • TreeHelper
    • HighlightHelper
    • ReflectHelper
    • BeanHelper
  • plugin模块

    • Database
    • One
    • Many
    • OneToOne
    • OneToMany
  • 安装

    • 通过Maven安装
    • 通过Gradle安装
    • 下载jar安装
    • 通过源码编译
  • 动态mapper

    • 指定package
    • 指定注解
    • 指定接口
    • 指定实体类
  • 团队成员
  • dromara
  • 社区周边
  • 成为开发成员
  • 项目问题

    • 最新版本依赖下载失败
    • 项目编译报错
    • 如何贡献代码
    • 如何贡献文档
    • 使用本项目需要的前置知识
  • 其他问题

    • 作者是在全职维护开源吗
    • 你们这是个什么团队啊
    • 和其他类似的开源项目有什么区别
赞助
  • 1-5-0-alpha
  • 1-6-0-alpha
  • 1-7-0-alpha
  • 1-8-0
  • 1-9-0
  • 1-9-1
  • 2.0.0-alpha+001
  • 2.0.0-alpha+002
  • 2.0.2
Source (opens new window)
  • 指南

    • 快速上手
    • 模块介绍
    • 项目初衷与诞生
  • core

    • Opp
    • Sf
    • TreeHelper
    • LighHight
    • LambdaHelper
      • LambdaHelper
      • 拓展lambda
    • Steam
    • Maps
    • ReflectHelper
    • BeanHelper
  • plugin

    • DataBase
    • One
    • Many
    • OneToOne
    • OneToMany
    • QueryCondition
    • safe-mode
  • 配置

  • 指南
  • core
臧臧
2023-04-18
目录

LambdaHelper

# LambdaHelper

LambdaHelper可以解析lambda

例如可以通过lambda获取其信息

LambdaExecutable lambdaExecutable = LambdaHelper.resolve((Serializable & BiConsumer<Integer[][], Integer>) (i, a) -> {});
System.out.println(lambdaExecutable);
// LambdaExecutable{
//  executable=private static void io.github.vampireachao.stream.core.lambda.LambdaHelperTest.lambda$testResolve$9b6dfab2$1(java.lang.Integer[][],java.lang.Integer),
//  instantiatedTypes=[class [[Ljava.lang.Integer;, class java.lang.Integer],
//  parameterTypes=[class [[Ljava.lang.Integer;, class java.lang.Integer],
//  returnType=void,
//  name='lambda$testResolve$9b6dfab2$1', 
//  clazz=class io.github.vampireachao.stream.core.lambda.LambdaHelperTest,
//  lambda=SerializedLambda[capturingClass=class io.github.vampireachao.stream.core.lambda.LambdaHelperTest, functionalInterfaceMethod=java/util/function/BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V, implementation=invokeStatic io/github/vampireachao/stream/core/lambda/LambdaHelperTest.lambda$testResolve$c70a867a$1:([[Ljava/lang/Integer;Ljava/lang/Integer;)V, instantiatedMethodType=([[Ljava/lang/Integer;Ljava/lang/Integer;)V, numCaptured=0],
//  proxy=null
// }

而且其在idea的debug模式下,在Evaluate调试窗口声明的lambda也可以被解析

# 拓展lambda

使用SerCons.multi,可以让你的forEach支持多个lambda操作

import static io.github.vampireachao.stream.core.lambda.function.SerCons.multi;


Arrays.asList("vampire", "a chao").forEach(multi(
        System.out::println,
        System.err::println,
        i -> System.out.println(i.equals("vampire"))
));

看不懂?没关系,戳我学习 (opens new window)

上次更新: 2024/03/29, 09:17:32
LighHight
Steam

← LighHight Steam→

Theme by Vdoing | Copyright © 2023-2024 阿超 | Apache License, Version 2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式