当前位置:网站首页>[groovy] closure (Introduction to closure class closure | closure parametertypes and maximumnumberofparameters member usage)
[groovy] closure (Introduction to closure class closure | closure parametertypes and maximumnumberofparameters member usage)
2022-07-05 04:40:00 【Programmer community】
List of articles
- One 、 Closure class Closure brief introduction
- Two 、 Closure parameterTypes and maximumNumberOfParameters Member usage
- 3、 ... and 、 Complete code example
One 、 Closure class Closure brief introduction
Closure is Closure object , Closure There are many members in the class , And encapsulated functions , Here is Closure Class inheritance structure ;
/** * stay Groovy Represents any closure object . * <p> * Groovy Allow closure instances to be called in a short form . for example : * <pre> * def a = 1 * def c = { a } * assert c() == 1 * </pre> * In order to be able to use closures in your own subclasses in this way , * You need to provide a with any signature you want doCall Method . * This ensures that the {@link#getMaximumNumberOfParameters()} * and {@link#getParameterTypes()} stay * It works without any extra code . * If not provided doCall Method , You must use closures in long form , Such as * <pre> * def a = 1 * def c = {a} * assert c.call() == 1 * </pre> * * @author <a href="mailto:[email protected]">James Strachan</a> * @author <a href="mailto:[email protected]">John Wilson</a> * @author <a href="mailto:[email protected]">Jochen Theodorou</a> * @author Graeme Rocher * @author Paul King */public abstract class Closure<V> extends GroovyObjectSupport implements Cloneable, Runnable, GroovyCallable<V>, Serializable {
}Two 、 Closure parameterTypes and maximumNumberOfParameters Member usage
stay Closure class Closure in , There are the following
2
2
2 Members :
protected Class[] parameterTypes; protected int maximumNumberOfParameters;Class[] parameterTypes Is a parameter type , int maximumNumberOfParameters Is the maximum number of parameters required , When invoking closures , When you don't know what type of parameters to pass to a closure , Do not know how many parameters are passed , You can use Above
2
2
2 Members ;
The following code , Define a closure :
// Define closure // The closure receives 2 Parameters def closure = {
int a, String b ->}If you use closure Closure time , I don't know what type of parameters the closure receives , And the number of parameters , have access to println Print closure parameters ;
Print parameter type : Above
2
2
2 Parameters , The printed result is [int, class java.lang.String] ;
// Print parameter type println closure.parameterTypesNumber of print parameters :
// Number of print parameters println closure.maximumNumberOfParameters3、 ... and 、 Complete code example
Complete code example :
// Define closure // The closure receives 2 Parameters def closure = {
int a, String b ->}// Print parameter type println closure.parameterTypes// Number of print parameters println closure.maximumNumberOfParametersExecution results :
[int, class java.lang.String]2
边栏推荐
- CUDA Programming atomic operation atomicadd reports error err:msb3721, return code 1
- English topic assignment (27)
- Power management bus (pmbus)
- How can CIOs use business analysis to build business value?
- Wenet: E2E speech recognition tool for industrial implementation
- OWASP top 10 vulnerability Guide (2021)
- 概率论与数理统计考试重点复习路线
- Observable time series data downsampling practice in Prometheus
- Raki's notes on reading paper: code and named entity recognition in stackoverflow
- jmeter -- 分布式压测
猜你喜欢

Serpentine matrix
![[phantom engine UE] realize the animation production of mapping tripod deployment](/img/89/351641c3da7e2acdbf389bc298b75e.png)
[phantom engine UE] realize the animation production of mapping tripod deployment

Burpsuite grabs app packets

Decryption function calculates "task state and lifecycle management" of asynchronous task capability

49 pictures and 26 questions explain in detail what is WiFi?

托管式服务网络:云原生时代的应用体系架构进化

Raki's notes on reading paper: code and named entity recognition in stackoverflow

揭秘技术 Leader 必备的七大清奇脑回路

计组笔记(1)——校验码、原补码乘除计算、浮点数计算

电源管理总线 (PMBus)
随机推荐
Aperçu en direct | Services de conteneurs ACK flexible Prediction Best Practices
CSDN正文自动生成目录
The remainder operation is a hash function
托管式服务网络:云原生时代的应用体系架构进化
All in one 1413: determine base
Fonction (sujette aux erreurs)
线上故障突突突?如何紧急诊断、排查与恢复
English topic assignment (26)
Setting up redis cluster cluster under Windows
次小生成树
You Li takes you to talk about C language 7 (define constants and macros)
How to force activerecord to reload a class- How do I force ActiveRecord to reload a class?
CUDA Programming atomic operation atomicadd reports error err:msb3721, return code 1
Introduction to RT thread kernel (5) -- memory management
防护电路中的元器件
File upload bypass summary (upload labs 21 customs clearance tutorial attached)
SQL set operation
Flutter 小技巧之 ListView 和 PageView 的各种花式嵌套
美国5G Open RAN再遭重大挫败,抗衡中国5G技术的图谋已告失败
程序员应该怎么学数学