StreamEx
发表于|更新于
|浏览量:
这个世界上没有无用的齿轮,也只有齿轮本身能决定自己的用途。——《嫌疑犯X的献身》
跟昨天介绍的eclipse-collections一样,这是一个同类产品:
仓库地址:https://github.com/amaembo/streamex
JavaDoc:http://amaembo.github.io/streamex/javadoc/one/util/streamex/package-summary.html
感受下:
1 | List<String> userNames = StreamEx.of(users).map(User::getName).toList(); |
对比起来好像比eclipse-collections写更少代码

而且更向原生stream靠拢
文档:https://github.com/amaembo/streamex/blob/master/wiki/CHEATSHEET.md
相关推荐
2024-05-31
MybatisPlus“ 漏洞 CVE-2024-35548 ”申明 & 探讨分享
对立有时能比相似更好地说明问题。——歌德 原文链接: MybatisPlus“ 漏洞 CVE-2024-35548 ”申明 & 探讨 - OSCHINA - 中文开源技术交流社区 MybatisPlus 最新漏洞 CVE-2024-35548 说明,对于各种所谓的漏洞申明,也是让我们很头疼的, 出于使用者和 ORM 设计者的理解不一样产生是否为漏洞的分歧,针对这个问题官方也做了很多的说明: 【预防安全漏洞 https://baomidou.com/reference/about-cve/】 【数据安全保护 https://baomidou.com/guides/security/】 MybatisPlus 最新漏洞 CVE-2024-35548 申明 严格意义该问题并不属于真正意义上的漏洞,请问那个 orm 不允许字符串拼接 ?? 【不同意该观点可以留言探讨】 提交者也是缺乏基本常识 “SQL 片段” 主动交给前端传入 这是多么 低级的错误甚至低能 的行为。 更何况官方文档多处强调这种行为是不安全的不推荐的,也提供了判断可能存在注入的检查方案,然而提交漏洞者视而不...
2023-03-19
关联更新封装(三)
太如意的生活便是平凡的生活,太容易获得的东西,便不是贵重的东西。——茅盾 今天是另外一种类型的关联更新封装 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768public static <T, K extends Comparable<? super K> & Serializable, S> BaseDbBO<S> saveSub(SubBO<T, K, S> bo) { val subIds = Steam.of(bo.getMainList()) .flat(data -> Steam.of(bo.getSubIdGetters()).map(f -> f.apply(data))) .nonNull().toList(); val su...
2024-02-01
minio临时凭证直传切换到阿里云oss
孤独没有什么不好。使孤独变得不好,是因为你害怕孤独。——《孤独六讲》 代码非常简单,像之前的实现: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273import cn.hutool.core.date.DateUtil;import cn.hutool.core.io.file.FileNameUtil;import cn.hutool.core.lang.UUID;import cn.hutool.core.text.StrPool;import cn.hutool.core.util.StrUtil;import cn.hutool.core.util.URLUtil;import cn.hutool.http.ContentType;import com.aliyun.oss.HttpMethod;import com.aliyun.oss.OSS...
2024-02-15
mapstruct模板
自信是成功的秘诀。——韦恩·戴克 分享一个idea的mapstruct模板 12345678910111213141516171819#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end#parse("File Header.java")import jakarta.annotation.Nullable;import org.mapstruct.Mapper;import org.springframework.core.convert.converter.Converter;/** * ${NAME}Converter * * @author achao@apache.org * @since $DATE */@Mapper(componentModel = "spring")public interface ${...
2022-11-28
mybatis-plus代码方式配置
发光的不全是黄金——莎士比亚 示例:https://github.com/apache/incubator-streampark/pull/2099 原来的方式: 1234567891011# mybatis plus settingmybatis-plus: type-aliases-package: org.apache.streampark.console.*.entity mapper-locations: classpath:mapper/*/*.xml configuration: jdbc-type-for-null: null global-config: db-config: id-type: auto # close mybatis-plus banner banner: false 现在的方式: 123456789101112131415161718192021/** * mybatis plus setting * * @return MybatisPlusPropertiesCustomi...
2021-09-26
自定义注解和AOP
生命不可能有两次,但许多人连一次也不善于度过——吕凯特 我们写一个注解用AOP去实现接口的访问记录,这个也可以用于日志记录等地方 12345678910111213141516import java.lang.annotation.*;/** * 记录 * * @author <achao1441470436@gmail.com> * @since 2021/7/29 11:28 */@Inherited@Documented@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface WithMe { String value();} 然后在AOP中这样写 123456789101112131415161718192021222324252627282930313233import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.JoinPoint;import org.aspectj....

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog