mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-08-18 20:38:02 +08:00
fix code
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
package cn.hutool.core.lang.func;
|
||||
|
||||
import lombok.Data;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
public class LambdaUtilTest {
|
||||
|
||||
@Test
|
||||
@@ -21,19 +20,29 @@ public class LambdaUtilTest {
|
||||
|
||||
@Test
|
||||
public void getImplClassTest() {
|
||||
// 一般用于封装工具类时减少参数使用
|
||||
Class<MyTeacher> aClass = LambdaUtil.getInstantiatedClass(MyTeacher::getAge);
|
||||
// 类方法引用,相当于获取的方法引用是:MyTeacher.getAge(this)
|
||||
// 因此此处会匹配到Func1,其参数就是this
|
||||
Class<MyTeacher> aClass = LambdaUtil.getImplClass(MyTeacher::getAge);
|
||||
Assert.assertEquals(MyTeacher.class, aClass);
|
||||
|
||||
// 一般用于封装工具类时减少参数使用
|
||||
MyTeacher myTeacher = new MyTeacher();
|
||||
Class<MyTeacher> bClass = LambdaUtil.getImplClass(myTeacher::getAge);
|
||||
Assert.assertEquals(MyTeacher.class, bClass);
|
||||
|
||||
// 对象方法引用,因为已经有了对象,因此此处引用相当于获取:myTeacher.getAge()
|
||||
aClass = LambdaUtil.getImplClass(myTeacher::getAge);
|
||||
Assert.assertEquals(MyTeacher.class, aClass);
|
||||
|
||||
// 静态方法引用,相当于获取:MyTeader.takeAge
|
||||
aClass = LambdaUtil.getImplClass(MyTeacher::takeAge);
|
||||
Assert.assertEquals(MyTeacher.class, aClass);
|
||||
}
|
||||
|
||||
@Data
|
||||
static class MyTeacher {
|
||||
|
||||
public static String takeAge(){
|
||||
return new MyTeacher().getAge();
|
||||
}
|
||||
|
||||
public String age;
|
||||
}
|
||||
}
|
||||
|
@@ -56,7 +56,7 @@ public class MapUtilTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void changeTest() {
|
||||
public void mapTest() {
|
||||
// Add test like a foreigner
|
||||
Map<Integer, String> adjectivesMap = MapUtil.<Integer, String>builder()
|
||||
.put(0, "lovely")
|
||||
@@ -64,7 +64,7 @@ public class MapUtilTest {
|
||||
.put(2, "happily")
|
||||
.build();
|
||||
|
||||
Map<Integer, String> resultMap = MapUtil.change(adjectivesMap, (k, v) -> v + " " + PeopleEnum.values()[k].name().toLowerCase());
|
||||
Map<Integer, String> resultMap = MapUtil.map(adjectivesMap, (k, v) -> v + " " + PeopleEnum.values()[k].name().toLowerCase());
|
||||
|
||||
Assert.assertEquals("lovely girl", resultMap.get(0));
|
||||
Assert.assertEquals("friendly boy", resultMap.get(1));
|
||||
@@ -80,7 +80,7 @@ public class MapUtilTest {
|
||||
Map<Long, List<Long>> groupIdUserIdsMap = groups.stream().flatMap(group -> idUserMap.keySet().stream().map(userId -> UserGroup.builder().groupId(group.getId()).userId(userId).build())).collect(Collectors.groupingBy(UserGroup::getUserId, Collectors.mapping(UserGroup::getGroupId, Collectors.toList())));
|
||||
|
||||
// 神奇的魔法发生了, 分组id和用户ids组成的map,竟然变成了订单编号和用户实体集合组成的map
|
||||
Map<Long, List<User>> groupIdUserMap = MapUtil.change(groupIdUserIdsMap, (groupId, userIds) -> userIds.stream().map(idUserMap::get).collect(Collectors.toList()));
|
||||
Map<Long, List<User>> groupIdUserMap = MapUtil.map(groupIdUserIdsMap, (groupId, userIds) -> userIds.stream().map(idUserMap::get).collect(Collectors.toList()));
|
||||
|
||||
// 然后你就可以拿着这个map,去封装groups,使其能够在订单数据带出客户信息啦
|
||||
groups.forEach(group -> Opt.ofNullable(group.getId()).map(groupIdUserMap::get).ifPresent(group::setUsers));
|
||||
|
Reference in New Issue
Block a user