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
相关推荐
2023-01-30
hsqldb
平平静静地吃粗茶淡饭,胜于提心吊胆地吃大鱼大肉——伊索 分享一个数据库hsqldb 全名HyperSQL,官网:http://hsqldb.org/ HSQLDB - 100% Java Database,其最大特点是百分百Java的数据库 这里是它的文档:http://hsqldb.org/web/hsqlDocsFrame.html 当然我们spring-boot已有其依赖: 引入即可使用 12345<dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <scope>runtime</scope></dependency> 无序配置,直接在resources下新建schema.sql 123456789101112131415161718192021222324252627282930drop table if exists user_info;create t...
2022-03-03
collectingAndThen
向着清风吟唱的歌手,还会对着运转的宇宙歌吟。——纪伯伦《先知》 我们使用Stream收集操作收集元素时,会遇到对规则进行分组后,对每一组的数据还要进行处理的情况,这时候我们可以使用Collectors.collectingAndThen处理,例如我下面本来分组后得到一个Map<String,List<String>>,但我将分组后每一组的结果转换为了JSON格式的String 12345678910111213import java.util.Map;import java.util.stream.Collectors;import java.util.stream.Stream;import com.alibaba.fastjson.JSON;class Scratch { public static void main(String[] args) { Map<String, String> collect = Stream.<String>empty().collect(Collec...
2022-04-30
java泛型指定继承和实现
得到了再失去,总是比从来没有得到更伤人。——《追风筝的人》 我们使用泛型的时候,可以如下限定类型: 123public static class Obj<T extends Obj<T>> {} 那么我们Obj中的泛型就只能指定为继承了Obj的类 1Obj<ObjChild> obj = new Obj<>(); 例如: 12public static class ObjChild extends Obj<ObjChild> {} 我们如果想要限定,既继承了Obj,且实现了Serializable接口的类,就可以使用&符号这么写: 123public static class Obj<T extends Obj<T> & Serializable> {} 我们相应的子类,就需要这么写才符合泛型 12public static class ObjChild extends Obj<ObjChild> ...
2021-06-29
通过Function获取属性对应字段
只有绝望的赌鬼才肯把全部所有作孤注的一掷。一个商人如果把他的全部财产装在一只船上,人家就管他叫冒失鬼——席勒 我写了个函数 123456789101112131415161718/** * 获取表内字段 * * @param function 字段 * @return java.lang.String * @author <achao1441470436@gmail.com> * @since 2021/6/29 16:51 */public static <R, T> String getColumn(SFunction<T, R> function) { SerializedLambda lambda = LambdaUtils.resolve(function); TableInfo tableInfo = TableInfoHelper.getTableInfo(lambda.getImplClass()); return tableInfo.getFieldList() .para...
2022-03-30
lombok在生成的构造器、方法及参数上生成注解
冷眼观人,冷耳听语,冷情当感,冷心思理。——洪应明《菜根谭》 我们可以在lombok生成的构造器、方法、参数上再附带注解,参考: https://projectlombok.org/features/experimental/onX 例如下面代码: 指定构造器上新增@Autowired、@Lazy(true) getter上新增@Id、 @JsonIgnore(true) setter上新增@NonNull 1234567891011121314151617181920212223package com.ruben.simplescaffold.component;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Lazy;import org.springframework.data.annotation.Id;import org.springframework.jdbc.core.JdbcTemplate;...
2022-08-11
java MethodHandle转反射对象
春雨将半,各梦所欢。——送花的人走了 最近在看MethodHandle相关内容,我们将MethodHandle转反射的Executable对象,可以这么使用: 1final Executable executable = MethodHandles.reflectAs(Executable.class, methodHandle); 当然你也可以这么用: 12345final MethodHandles.Lookup lookup = MethodHandles.lookup(); MethodHandle methodHandle = lookup .findStatic(Test.class, "myMethod", MethodType.methodType(resultType, paramerType)); Method method = lookup.revealDirect(methodHandle).reflectAs(Method.class, lookup); System....

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