public static <E extends Enum<E>, F, C> F getFieldBy(Func1<E, F> field, Function<E, C> condition, C value) {
		if(null == field || null == condition){
			return null;
		}
		final Class<E> implClass = LambdaUtil.getRealClass(field);
		return Arrays.stream(implClass.getEnumConstants())
			// 过滤
			.filter(constant -> ObjUtil.equals(condition.apply(constant), value))
			// 获取第一个并转换为结果
			.findFirst()
			.map(field::callWithRuntimeException)
			.orElse(null);
	}
@Test
	public void getFieldByTest() {
		// 枚举中字段互相映射使用
		String type = EnumUtil.getFieldBy(TestEnum::getType, Enum::ordinal, 1);
		assertEquals("type2", type);

		int ordinal = EnumUtil.getFieldBy(TestEnum::ordinal, Enum::ordinal, 1);
		assertEquals(1, ordinal);
	}