修改Func1参数的方法为LambdaUtil#getInstantiatedClass

提供EnumUtil中对lambda进行映射处理
This commit is contained in:
VampireAchao
2022-03-23 22:27:38 +08:00
parent 2087ef8be7
commit c669426a1e
4 changed files with 81 additions and 19 deletions

View File

@@ -21,9 +21,11 @@ public class LambdaUtilTest {
@Test
public void getImplClassTest() {
Class<MyTeacher> aClass = LambdaUtil.getImplClass(MyTeacher::getAge);
// 一般用于封装工具类时减少参数使用
Class<MyTeacher> aClass = LambdaUtil.getInstantiatedClass(MyTeacher::getAge);
Assert.assertEquals(MyTeacher.class, aClass);
// 一般用于封装工具类时减少参数使用
MyTeacher myTeacher = new MyTeacher();
Class<MyTeacher> bClass = LambdaUtil.getImplClass(myTeacher::getAge);
Assert.assertEquals(MyTeacher.class, bClass);

View File

@@ -9,7 +9,7 @@ import java.util.Map;
/**
* EnumUtil单元测试
*
*
* @author looly
*
*/
@@ -20,39 +20,53 @@ public class EnumUtilTest {
List<String> names = EnumUtil.getNames(TestEnum.class);
Assert.assertEquals(CollUtil.newArrayList("TEST1", "TEST2", "TEST3"), names);
}
@Test
public void getFieldValuesTest() {
List<Object> types = EnumUtil.getFieldValues(TestEnum.class, "type");
Assert.assertEquals(CollUtil.newArrayList("type1", "type2", "type3"), types);
}
@Test
public void getFieldNamesTest() {
List<String> names = EnumUtil.getFieldNames(TestEnum.class);
Assert.assertTrue(names.contains("type"));
Assert.assertTrue(names.contains("name"));
}
@Test
public void getByTest() {
// 枚举中字段互相映射使用
TestEnum testEnum = EnumUtil.getBy(TestEnum::getType, "type2");
Assert.assertEquals("TEST2", testEnum.name());
}
@Test
public void getFieldByTest() {
// 枚举中字段互相映射使用
String type = EnumUtil.getFieldBy(TestEnum::getType, TestEnum::ordinal, 1);
Assert.assertEquals("type2", type);
}
@Test
public void likeValueOfTest() {
TestEnum value = EnumUtil.likeValueOf(TestEnum.class, "type2");
Assert.assertEquals(TestEnum.TEST2, value);
}
@Test
public void getEnumMapTest() {
Map<String,TestEnum> enumMap = EnumUtil.getEnumMap(TestEnum.class);
Assert.assertEquals(TestEnum.TEST1, enumMap.get("TEST1"));
}
@Test
public void getNameFieldMapTest() {
Map<String, Object> enumMap = EnumUtil.getNameFieldMap(TestEnum.class, "type");
assert enumMap != null;
Assert.assertEquals("type1", enumMap.get("TEST1"));
}
public enum TestEnum{
TEST1("type1"), TEST2("type2"), TEST3("type3");
@@ -62,11 +76,11 @@ public class EnumUtilTest {
private final String type;
private String name;
public String getType() {
return this.type;
}
public String getName() {
return this.name;
}