Groovy重载操作符
Posted funtester
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Groovy重载操作符相关的知识,希望对你有一定的参考价值。
重载一时爽,一直重载一直爽。
最近在读《Groovy in action》一本书重新复习了Groovy的一些语法特性,迷恋上这个重载操作符的功能,坚持爽的不要要的。分享一个Demo。
由于Groovy语法跟Java差别略大但又基本完全兼容Java语法,这个Demo依然以Java语法写出来,方便大家理解。
package com.FunTester.demo
import com.fun.frame.SourceCode
class demo1 extends SourceCode {
public static void main(String[] args) {
def s = "fun" * 3 << "fan"
println s
Demo demo = new Demo()
Demo a = new Demo()
Demo demo1 = demo + a
Demo sssss = demo + 3
Demo fsa = demo * 3
Demo demo2 = demo / 9
Demo demo3 = demo << a
Demo demo4 = demo >> a
Demo demo5 = demo++
def i = 2 >>> 1
}
static class Demo {
def plus(Demo demo) {
output("加法对象")
this
}
def plus(int s) {
output("加法")
this
}
def multiply(int a) {
output("乘法")
this
}
def div(int a) {
output("除法")
this
}
def leftShift(Demo demo) {
output("<<操作")
this
}
def rightShift(Demo demo) {
output(">>操作")
this
}
def next() {
output("++操作")
this
}
}
}
控制台输出
惊不惊喜意不意外!
下面结合性能测试框架的thread类写一个:
RequestThreadTimes requestThreadTimes = new RequestThreadTimes(FanLibrary.getHttpGet(""), 100);
List<RequestThreadTimes> threads = requestThreadTimes * 100;
new Concurrent(threads).start()
乘法重载如下:
/**
* 乘法
*
* @param i
* @return
*/
public List<RequestThreadTimes> multiply(int i) {
ArrayList<RequestThreadTimes> threads = new ArrayList<>(i);
i.times {
threads << this.clone();
}
threads
}
哈,哈,哈!
- 还有一个大秘密:Groovy连操作符“.”也能重写。
- 郑重声明:文章首发于公众号“FunTester”,禁止第三方(腾讯云除外)转载、发表。
技术类文章精选
- java一行代码打印心形
- Linux性能监控软件netdata中文汉化版
- 性能测试框架第二版
- 如何在Linux命令行界面愉快进行性能测试
- 图解HTTP脑图
- 将swagger文档自动变成测试代码
- 五行代码构建静态博客
- 基于java的直线型接口测试框架初探
- Selenium 4.0 Alpha更新日志
- Selenium 4.0 Alpha更新实践
- 如何统一接口测试的功能、自动化和性能测试用例
非技术文章精选
- 为什么选择软件测试作为职业道路?
- 写给所有人的编程思维
- 成为自动化测试的7种技能
- 如何在DevOps引入自动化测试
- Web端自动化测试失败原因汇总
- 如何在DevOps引入自动化测试
- 测试人员常用借口
- 2019年浏览器市场份额排行榜
- API测试基础
- API自动化测试指南
- 未来的QA测试工程师
以上是关于Groovy重载操作符的主要内容,如果未能解决你的问题,请参考以下文章
Groovy集合遍历 ( 操作符重载 | 集合中的 “ << “ 操作符重载 | 使用集合中的 “ << “ 操作符添加一个元素 | 使用集合中的 “ << “ 操作符添加一个集合 )
Groovy集合遍历 ( 操作符重载 | 集合中的 “ << “ 操作符重载 | 使用集合中的 “ << “ 操作符添加一个元素 | 使用集合中的 “ << “ 操作符添加一个集合 )